python - 如何让一个 python 文件要求用户输入,然后将此输入传递给第二个 .py 文件?
问题描述
我有一个执行三个步骤的 analyze.py 文件:
- 它将 .csv 文件导入为 numpy 数组;
- 它要求用户输入(例如
x=input ('Enter a number by which you want to multiply your array?')
- 使用该输入来执行一些数组操作(例如
output_array=csv_array*x
)。
在第 3 步之后,我想关闭现有窗口并自动运行第二个 .py 文件,该文件导入新数组 (output_array)。
换句话说,我想将用户输入变量从一个 py 文件传递到另一个。我该怎么做?
请注意,我知道类似的问题(例如,如何让一个 python 文件运行另一个?),但我无法猜测如何处理用户输入。
解决方案
一种方法是使用subprocess.run
执行第二个 python 文件。这样,您可以将输入数组作为参数传递给第二个 python 文件。
from subrocess import run
command = []
command.append(PYTHON_EXECUTABLE_PATH)
command.append(SECOND_FILE_PATH)
command.append(array_converted_to_string) # e.g. separate array elements with dashes '-'
completed_process = run(command, capture_output=True, text=True)
因此,您需要实施三件事:
- 将数组转换为字符串的函数
- 进行转换的函数
- 第二个 python 文件中的参数解析 # 标准库有 argparse 模块
推荐阅读
- c# - Properties.Settings 在 VS 2013 CE 中不起作用
- python - 反转字符串 - 赋值前引用的局部变量
- python - 如何读取包含字符串的行,然后在没有该字符串的情况下提取该行
- jquery - 为什么带有 Jekyll 和 bootsratp 的 Modal Popup 只显示最后一个孩子的内容?
- aframe - 如何使用 aframe Daydream 触控板控件?
- linux - 使用 exiftool 将纬度-经度(来自文件)添加到 4000 张图像
- url - AWS Cloudfront Link 不通过网络提供服务
- python - 使用我的 python 函数获取完整数据时出错?
- ms-access - 循环通过记录集 vb6
- arm - 手臂的busybox编译:致命错误:byteswap.h:没有这样的文件或目录