Hướng dẫn python pass variable to another script - python chuyển biến sang tập lệnh khác

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.

Python: Gửi một biến đến một tập lệnh khác với các ví dụ mã

Xin chào tất cả mọi người, trong bài đăng này, chúng tôi sẽ xem xét cách giải Python: Gửi một biến cho một tập lệnh khác trong lập trình.

$ cat first.py second.py 
#first.py
def demo():
    some_list = []
    for i in 'string':
         some_list.append( i )
    return some_list
#second.py 
from first import demo
some_list = demo()
print some_list 
$python second.py
['s', 't', 'r', 'i', 'n', 'g']

Như chúng ta đã thấy, rất nhiều ví dụ đã được sử dụng để giải quyết Python: gửi một biến cho một vấn đề tập lệnh khác.

Làm cách nào để chuyển một biến từ tập lệnh python này sang tập lệnh khác?

Các bước để chạy một tập lệnh python từ một tập lệnh khác

  • 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.
  • 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.
  • Bước 3: Chạy một kịch bản Python từ một tập lệnh khác.

Làm cách nào để chuyển dữ liệu từ tập lệnh này sang tập lệnh khác?

Tuy nhiên, bạn có thể làm điều này: Bắt đầu tập lệnh A và yêu cầu người dùng nhập dữ liệu. Sau đó sử dụng tập lệnh A để bắt đầu tập lệnh B; Khi bạn làm điều đó, bạn có thể chuyển dữ liệu theo tập lệnh B. Theo cách đó, Script B sẽ có quyền truy cập đầy đủ vào bất kỳ thông tin nào mà người dùng đã nhập. Để giải thích rõ hơn điều này, chúng ta hãy xem một ví dụ rất đơn giản.25-OCT-2004

Một kịch bản Python có thể gọi một kịch bản khác không?

Sử dụng phương thức ExecFile () để chạy tập lệnh Python trong một tập lệnh Python khác. Hàm execFile () thực thi tệp mong muốn trong trình thông dịch. Hàm này chỉ hoạt động trong Python 2. Trong Python 3, hàm Execfile () đã bị xóa, nhưng điều tương tự có thể đạt được trong Python 3 bằng phương thức EXEC ()

Làm thế nào để bạn chia sẻ một biến toàn cầu trong Python?

Cách tốt nhất để chia sẻ các biến toàn cầu trên các mô -đun trên một chương trình duy nhất là tạo một mô -đun cấu hình. Chỉ cần nhập mô -đun cấu hình trong tất cả các mô -đun trong ứng dụng của bạn; Mô-đun sau đó trở thành tên toàn cầu.24-JUL-2019

__ nhập __ làm gì trong Python?

__Import __ () trong mô -đun Python giúp đưa mã có mặt trong một mô -đun khác bằng cách nhập hàm hoặc mã hoặc tệp bằng cách nhập phương thức Python. Nhập trong Python trả về đối tượng hoặc mô-đun mà chúng tôi đã chỉ định trong khi sử dụng mô-đun nhập.02-Jun-2022

Exec () làm gì trong Python?

Hàm exec () tích hợp của Python cho phép bạn thực thi mã python tùy ý từ một chuỗi hoặc mã được biên dịch đầu vào.24-AUG-2022

Làm cách nào để trả lại giá trị từ một tập lệnh shell sang một tập lệnh khác?

Có ít nhất hai cách tiếp cận mà bạn có thể sử dụng:

  • Chuyển biến như một tham số vị trí cho tập lệnh: ./script.sh $ biến.
  • Xuất biến, do đó, các subs có thể sử dụng nó: Biến xuất ./script.sh.

Làm thế nào để bạn vượt qua các biến giữa các tập lệnh trong Unity?

Làm cách nào để sử dụng một biến từ tập lệnh này sang tập lệnh khác trong Unity?

Làm thế nào để bạn chuyển các đối số cho một kịch bản Python?

Trong Python, các đối số được chuyển đến một tập lệnh từ dòng lệnh bằng gói SYS. Thành viên Argv của SYS (SYS. ARGV) sẽ lưu trữ tất cả các thông tin trong mục nhập dòng lệnh và có thể được truy cập bên trong tập lệnh Python. Mô -đun GetOpt của Python cũng có thể được sử dụng để phân tích các đối số được đặt tên.

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:

second.py 
print x
0

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
1

Tươ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
2

Sau đó, thay đổi cú pháp trong tập lệnh Python_2 thành:python_2 script to:

second.py 
print x
3

Như 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
4