Tôi chắc chắn điều này rất đơn giản nhưng tôi đã không thể làm cho nó hoạt động chính xác. Tôi cần phải có tập lệnh python chính của mình gọi một tập lệnh python khác và chuyển các biến từ tập lệnh gốc sang tập lệnh mà tôi đã gọi
Vì vậy, trong một ví dụ đơn giản, tập lệnh đầu tiên của tôi là,
first.py
x = 5
import second
Và kịch bản thứ hai của tôi là,
second.py
print x
Và tôi mong đợi nó sẽ in X nhưng tôi nhận được
NameError: name 'x' is not defined
Tôi không chắc là nhập khẩu là cách đúng để đạt được điều này, nhưng nếu ai đó có thể làm sáng tỏ nó một cách đơn giản sẽ rất tuyệt!
thanks,
CHỈNH SỬA
Sau khi đọc các bình luận, tôi nghĩ rằng tôi sẽ mở rộng câu hỏi của mình. Aswin Murugesh trả lời khắc phục vấn đề nhập khẩu mà tôi đang gặp phải, tuy nhiên giải pháp không có kết quả mong muốn vì tôi dường như không thể vượt qua các mục trong danh sách theo cách này.
Trong First.py tôi có một danh sách mà tôi xử lý như sau
for insert, [list] in enumerate[list, start =1]:
'call second.py passing current list item'
Tôi muốn chuyển từng mục trong danh sách cho tệp Python thứ hai để xử lý thêm [lần đầu tiên tôi không muốn làm điều này trong đầu tiên. chương trình. Tôi hy vọng điều này bây giờ có ý nghĩa hơn.
Cảm ơn các ý kiến cho đến nay.
Trong hướng dẫn ngắn này, bạn sẽ thấy cách chạy một kịch bản Python từ một kịch bản Python khác.
Cụ thể hơn, bạn sẽ thấy các bước tới:
- Chạy một tập lệnh python từ một tập lệnh khác
- Gọi một biến cụ thể từ tập lệnh python này sang tập lệnh khác
Nhưng trước khi chúng tôi bắt đầu, đây là một mẫu đơn giản mà bạn có thể sử dụng để chạy một tập lệnh Python từ một tập lệnh khác [đối với các tập lệnh Python được lưu trữ trong cùng một thư mục]:
import script_name_to_call
Bước 1: Đặt các tập lệnh Python vào cùng một thư mục
Để bắt đầu, hãy đặt các tập lệnh Python của bạn vào cùng một thư mục.
Ví dụ, hãy để giả sử rằng hai tập lệnh Python [được gọi là Python_1 và Python_2] được lưu trữ trong cùng một thư mục:python_1 and python_2] are stored in the same folder:
Python_1 Python_2
python_2
Mục tiêu cuối cùng là chạy tập lệnh Python_2 từ tập lệnh Python_1.
Bước 2: Thêm cú pháp
Tiếp theo, thêm cú pháp vào từng tập lệnh của bạn.
Chẳng hạn, hãy để thêm cú pháp sau trong python_1 & nbsp; script: script:python_1 script:
import python_2 print['what are you up to?']
Where:
- Dòng đầu tiên của ‘Nhập Python_2, trong tập lệnh Python_1, sẽ gọi tập lệnh Python_2 thứ haipython_1 script, would call the second python_2 script
- Dòng thứ hai của mã chỉ đơn giản là in biểu thức của ‘Bạn đang làm gì?
Bây giờ, hãy để thêm cú pháp trong tập lệnh Python_2:python_2 script:
print['hello world']
Trong trường hợp này, biểu thức của ‘Hello World, sẽ được in khi chạy tập lệnh thứ hai.
Lưu ý rằng trước tiên bạn phải lưu cú pháp được ghi trong tập lệnh Python_2 trước khi gọi nó từ một tập lệnh khác.save the syntax that was captured in the python_2 script before calling it from another script.
Bước 3: Chạy một tập lệnh Python từ một bản khác
Bây giờ bạn sẽ cần chạy tập lệnh từ hộp Python_1 để gọi tập lệnh thứ hai.python_1 box in order to call the second script.
Lưu ý rằng kết quả của tập lệnh Python_2 sẽ được hiển thị đầu tiên và chỉ sau đó kết quả của tập lệnh Python_1 mới được hiển thị:
hello world
what are you up to?
Gọi một biến cụ thể từ tập lệnh python này sang tập lệnh khác
Bây giờ, hãy xem cách gọi một biến cụ thể [mà chúng ta sẽ gọi ‘X,] từ tập lệnh Python_2 vào tập lệnh Python_1.
Trong trường hợp đó, bạn sẽ cần chỉnh sửa cú pháp trong tập lệnh Python_1 thành phần sau:python_1 script to the following:
import python_2 as p2 print[p2.x]
Tiếp theo, gán một giá trị [ví dụ: ‘Xin chào thế giới] cho biến‘ X, trong tập lệnh Python_2:python_2 script:
x = 'hello world'
Don Tiết quên lưu các thay đổi trong tập lệnh Python_2.python_2 script.
Cuối cùng, hãy chạy cú pháp từ tập lệnh Python_1 và biểu thức ‘Hello World sẽ được in:python_1 script, and the ‘hello world’ expression would be printed:
second.py
print x
0Tương tác của các biến từ hai tập lệnh
Trong phần cuối cùng của hướng dẫn này, bạn sẽ thấy các biến từ hai tập lệnh có thể tương tác như thế nào.
Ví dụ, hãy để giả sử rằng tập lệnh python_1 có biến là y = 2, trong khi tập lệnh python_2 có biến là x = 5. Mục tiêu là tổng hợp hai biến đó và hiển thị kết quả.
Đầu tiên, hãy sửa đổi cú pháp trong tập lệnh Python_1 thành phần sau:python_1 script to the following:
second.py
print x
1Sau đó, thay đổi cú pháp trong tập lệnh Python_2 thành:python_2 script to:
second.py
print x
2Như trước đây, don không quên lưu các thay đổi trong tập lệnh Python_2.python_2 script.
Cuối cùng, hãy chạy cú pháp từ tập lệnh Python_1 và bạn sẽ nhận được ‘7, đó thực sự là tổng của hai biến:python_1 script, and you’ll get ‘7’ which is indeed the sum of the two variables:
second.py
print x
3