Cụ thể, tôi cần lấy một số đối tượng và hình cầu từ mô-đun chính trong mô-đun đã nhập. Tôi biết làm thế nào để tìm thấy những điều khi các mô-đun phụ huynh muốn một số điều cụ thể từ một mô-đun con, nhưng tôi không thể tìm ra cách để đi theo hướng khác.Trong Python, làm cách nào tôi có thể truy cập vào không gian tên của mô-đun chính từ mô-đun đã nhập?
Trả lời
import __main__
Nhưng đừng làm điều này.
tại sao không làm điều này? – Alcott
@Alcott: Bởi vì nó có thể dễ dàng biến chương trình của bạn thành một bánh quy cây. –
@ IgnacioVazquez-Abrams bạn có thể mở rộng trên đó không? –
Không chắc đó có phải là thực hành tốt hay không nhưng có thể bạn có thể truyền các đối tượng và biến mà bạn cần làm tham số cho các phương thức hoặc lớp bạn gọi trong mô-đun đã nhập.
Tôi nghĩ rằng điều này sẽ làm việc:
import sys
main_mod = sys.modules['__main__']
Điều này tương đương với 'import __main__ as main_mod'. –
Câu trả lời bạn đang tìm kiếm là:
import __main__
main_global1= __main__.global1
Tuy nhiên, bất cứ khi nào một module module1
cần công cụ từ các module __main__
, sau đó:
- mô-đun
__main__
phải cung cấp tất cả các dữ liệu cần thiết các tham số cho một hàm/lớpmodule1
, - hoặc bạn nên đặt mọi thứ cần được chia sẻ trong một mô-đun khác và nhập nó dưới dạng
import module2
trong cả hai__main__
vàmodule1
.
- 1. Asp.Net Mvc: Không thể truy cập vào không gian tên của mô hình của tôi theo quan điểm của tôi
- 2. Làm thế nào để môđun hóa ứng dụng JSF/Facelets/Spring bằng OSGi?
- 3. Truy nhập không gian tên cha trong python
- 4. Làm cách nào để nhập các loại không có không gian tên vào IronPython?
- 5. Làm cách nào để ngăn tiện ích 'gem' truy cập vào thư mục chính của tôi?
- 6. Làm cách nào để truy cập vào không gian tên Thuộc tính từ bên trong ứng dụng bảng điều khiển?
- 7. Cách tạo trang chỉ có thể truy cập khi đã đăng nhập vào PHP
- 8. Trong clojure, làm thế nào tôi có thể undef một var từ một không gian tên?
- 9. Làm cách nào tôi có thể truy cập ResourceDictionary trong wpf từ mã C#?
- 10. Tôi có thể truy cập API ImageMagick bằng Python không?
- 11. Tôi có thể sử dụng "từ __future__ nhập unicode_literals" trong tệp nhập chính không?
- 12. Cách truy cập không gian tên cơ sở trong Ruby?
- 13. Truy cập không gian tên chung C++ từ bên trong một không gian tên khác
- 14. Làm thế nào tôi có thể nhập dll của một ++ lớp C bên trong một không gian tên
- 15. Maven - bao gồm tất cả các môđun con của một pom như phụ thuộc trong một mô-đun
- 16. Có thể nhập tệp python đã biên dịch không?
- 17. Làm cách nào để nhập tệp sqlite đã tồn tại trước vào Dữ liệu chính?
- 18. Làm thế nào tôi có thể truy cập vào ListViewItems của một ListView WPF?
- 19. amazon s3 chỉ có thể truy cập từ tên miền/máy chủ của tôi?
- 20. Máy ứng dụng của Google, thời gian chạy Python 2.7, ImportError: không thể nhập tên djangoforms
- 21. Python: Không gian tên với nhập khẩu mô-đun
- 22. Cách đăng nhập vào facebook trong WebView nếu đã có mã thông báo truy cập từ FB SDK trong Android
- 23. Làm cách nào để tìm ra không gian tên nào cần nhập từ thư viện java?
- 24. Cách truy cập chức năng trong không gian tên
- 25. Làm cách nào tôi có thể lấy lại quyền truy cập vào Vùng làm việc của Máy chủ nhóm của tôi?
- 26. Làm thế nào để truy cập vào pass từ passbook trong ứng dụng của tôi?
- 27. file_get_contents từ url chỉ có thể truy cập được sau khi đăng nhập vào trang web
- 28. Tôi có thể trực tiếp truy cập vào mô-đun không đổi từ HTML theo AngularJS
- 29. Làm cách nào tôi có thể truy cập vào Maven Artifact POM bằng cách sử dụng Java API của Maven?
- 30. Làm thế nào tôi có thể chuyển * argv [] của chính vào một hàm?
Vâng, được rồi, tôi cho rằng đó phải là trường hợp vì tôi không thể tìm thấy bất kỳ câu trả lời nào về điều này ở bất kỳ đâu. Điểm mấu chốt là tôi không quan tâm đến việc sử dụng lại bất kỳ mã nào trong số này, tôi chỉ đang cố gắng chia nhỏ dự án này thành nhiều tệp để dễ quản lý hơn để tìm thấy những gì tôi đang tìm kiếm. Tôi thực sự không biết mình đang làm gì, thành thật mà nói, vì vậy đây là một trải nghiệm học tập, nhưng thực sự tôi chỉ muốn tìm mã tôi muốn chỉnh sửa dễ dàng hơn khi tôi muốn chỉnh sửa nó. – Damon
Tôi đồng ý rằng cần phải có một cách để chuyển các tham số cho một mô-đun khi nó được nhập - kiểu giống như khi bạn chuyển chúng vào một hàm tạo đối tượng. Tuy nhiên tôi chưa bao giờ tìm thấy một cách sạch sẽ để làm điều này. – martineau
Tôi đang tìm kiếm chính xác điều tương tự cho cùng một lý do chính xác, vì vậy có vẻ như đó là một điều mới lạ điển hình .. – sfranky