Tôi có một chương trình python 'gametree.py', tôi muốn xác định trước một số biến trong 'gametree.conf' và nhập chúng vào chương trình Python của tôi.
Tôi có thể nhập chúng tốt nếu tôi đặt tên cho nó bất cứ điều gì nhưng tôi không muốn đặt tên cho nó *.py. Đó là một tệp cấu hình, tôi muốn khớp nó với tên chương trình Python với phần mở rộng .conf.
gametree.py & gametree.conf
Possible?
Đã hỏi ngày 26 tháng 6 năm 2014 lúc 20:14Jun 26, 2014 at 20:14
5
Có, bạn muốn mô -đun ConfigParser
Điều này sẽ khiến bạn đi:
configexample.py
import configparser # note that this is for python3. Some changes need to be made for python2 # create parser object and read config file config = configparser.RawConfigParser() config.read('myconfig.cfg') # loop through. Here for instructional purposes we print, but you can # assign etc instead. for section in config.sections(): print(section) for option in config.options(section): text = '{} {}'.format(option, config.get(section,option)) print(text)Phần trong mã trích xuất nội dung của dấu ngoặc []. Dưới đây là một tệp cấu hình ví dụ myconfig.cfg
[auth] username= Petra password= topsecret [database] server= 192.168.1.34 port= 143 file='thatfile.dat' [Location] language = English timezone = UTCĐể biết thêm chi tiết, hãy xem tài liệu.
Phụ lục: Trong trường hợp bạn quan tâm, bạn cũng có thể sử dụng các mô -đun JSON và SHLEX.
Đã trả lời ngày 27 tháng 6 năm 2014 lúc 8:47Jun 27, 2014 at 8:47
Vidhya gvidhya gVidhya G
2.1601 Huy hiệu vàng23 Huy hiệu bạc27 Huy hiệu đồng1 gold badge23 silver badges27 bronze badges
Cải thiện bài viết
Lưu bài viết
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận
Khi các dòng mã tăng lên, thật cồng kềnh khi tìm kiếm khối mã cần thiết. Đó là một thực tế tốt để phân biệt các dòng mã theo công việc của họ. Nó có thể được thực hiện bằng cách có các tệp riêng biệt cho các mã làm việc khác nhau. Như chúng ta đã biết, các thư viện khác nhau trong Python cung cấp các phương thức và biến khác nhau mà chúng ta truy cập bằng cách sử dụng nhập đơn giản. Ví dụ, thư viện toán học. Nếu chúng tôi muốn sử dụng biến PI, chúng tôi sử dụng nhập khẩu nhập khẩu và sau đó là Math.pi.
Để nhập các biến từ một tệp khác, chúng tôi phải nhập tệp đó từ chương trình hiện tại. Điều này sẽ cung cấp quyền truy cập vào tất cả các phương thức và biến có sẵn trong tệp đó.
Tuyên bố nhập khẩu
Chúng tôi có thể sử dụng bất kỳ tệp nguồn Python nào làm mô -đun bằng cách thực thi câu lệnh nhập trong một số tệp nguồn Python khác. Khi trình thông dịch gặp một câu lệnh nhập, nó sẽ nhập mô -đun nếu mô -đun có mặt trong đường dẫn tìm kiếm. Đường dẫn tìm kiếm là danh sách các thư mục mà thông dịch viên tìm kiếm để nhập mô -đun.
Tuyên bố từ nhập khẩuFor more information, refer Python Modules
Python từ câu lệnh cho phép bạn nhập các thuộc tính cụ thể từ một mô -đun. & NBSP;approaches to import variables from other file
- Lưu ý: Để biết thêm thông tin, hãy tham khảo các mô -đun Python
- Các cách tiếp cận khác nhau để nhập các biến từ tệp khác
- Nhập và sau đó sử dụng. để truy cập biến
Example:
từ nhập và sử dụng các biến
Python3
từ nhập * và sau đó sử dụng các biến trực tiếp.
Giả sử chúng ta có một tệp có tên là hoán đổi. Chúng tôi phải nhập biến X và Y từ tệp này trong một tệp khác có tên là Cal Calval.py. & NBSP;
x = 23
y = [auth] username= Petra password= topsecret [database] server= 192.168.1.34 port= 143 file='thatfile.dat' [Location] language = English timezone = UTC 0
[auth] username= Petra password= topsecret [database] server= 192.168.1.34 port= 143 file='thatfile.dat' [Location] language = English timezone = UTC 1 [auth] username= Petra password= topsecret [database] server= 192.168.1.34 port= 143 file='thatfile.dat' [Location] language = English timezone = UTC 2
[auth] username= Petra password= topsecret [database] server= 192.168.1.34 port= 143 file='thatfile.dat' [Location] language = English timezone = UTC 3[auth] username= Petra password= topsecret [database] server= 192.168.1.34 port= 143 file='thatfile.dat' [Location] language = English timezone = UTC 4= [auth] username= Petra password= topsecret [database] server= 192.168.1.34 port= 143 file='thatfile.dat' [Location] language = English timezone = UTC 6
Python3
[auth] username= Petra password= topsecret [database] server= 192.168.1.34 port= 143 file='thatfile.dat' [Location] language = English timezone = UTC 3[auth] username= Petra password= topsecret [database] server= 192.168.1.34 port= 143 file='thatfile.dat' [Location] language = English timezone = UTC 8 [auth] username= Petra password= topsecret [database] server= 192.168.1.34 port= 143 file='thatfile.dat' [Location] language = English timezone = UTC 9
Bây giờ, hãy tạo tệp Python thứ hai để gọi biến từ mã trên:
x value: 23 y value: 30 x value: 30 y value: 230 x value: 23 y value: 30 x value: 30 y value: 231
x value: 23 y value: 30 x value: 30 y value: 238x value: 23 y value: 30 x value: 30 y value: 239configexample.py0configexample.py1configexample.py2configexample.py3
x value: 23 y value: 30 x value: 30 y value: 232= x value: 23 y value: 30 x value: 30 y value: 234
x value: 23 y value: 30 x value: 30 y value: 238x value: 23 y value: 30 x value: 30 y value: 239configexample.py0myconfig.cfg0configexample.py2myconfig.cfg2
Output:
x value: 23 y value: 30 x value: 30 y value: 23