如何在Python中实现跨文件传递并使用输入的数值?
Python实现跨文件传递数值的几种方法
当然可以实现,下面是几种常用的方案:
1. 模块导入+函数传参
这是最直接的方式,通过导入目标文件的函数,将数值作为参数传入。
input_handler.py(获取输入的文件):
inp = int(input("Enter your number:")) import use_value use_value.print_input_number(inp)
use_value.py(使用数值的文件):
def print_input_number(num): print("你输入的数值是:", num)
2. 命令行参数传递
利用sys.argv获取命令行参数,在第一个文件中调用第二个脚本并传入数值。
input_handler.py:
import subprocess import sys inp = int(input("Enter your number:")) # 调用use_value.py并传入数值(需转成字符串) subprocess.run([sys.executable, "use_value.py", str(inp)])
use_value.py:
import sys if __name__ == "__main__": # sys.argv[0]是脚本名,sys.argv[1]是传入的第一个参数 if len(sys.argv) > 1: inp = int(sys.argv[1]) print("你输入的数值是:", inp)
3. 文件存储中转
将数值写入临时文件,第二个文件读取该文件内容获取数值。
input_handler.py:
inp = int(input("Enter your number:")) # 写入临时文本文件 with open("temp_number.txt", "w") as f: f.write(str(inp)) # 调用use_value中的读取函数 import use_value use_value.read_and_print_number()
use_value.py:
def read_and_print_number(): with open("temp_number.txt", "r") as f: inp = int(f.read().strip()) print("你输入的数值是:", inp)
内容的提问来源于stack exchange,提问作者IFM2
相关产品推荐
相关产品推荐

