提问人:NeStack 提问时间:8/17/2023 更新时间:8/18/2023 访问量:47
在python中,如何将变量传递给命令行?
In python how to pass a variable to the command line?
问:
我有一个函数,我使用这样的东西:
def func(file_path):
!python some_script.py --par file_path
func('/some/file/path/file.csv')
这显然会导致错误消息,因为 Python 假设行中是文本文件路径,而我想将其用作表示文件路径的变量。file_path
!python some_script.py --par file_path
那么,如何将变量传递到命令行中?如何告诉命令行不是路径,而是表示路径?TNX系列!python some_script.py --par file_path
file_path
答:
0赞
Ocean Fig
8/17/2023
#1
若要将变量的值作为参数传递给命令行命令,可以使用字符串格式或串联来构造命令,如下所示:
import subprocess
def func(file_path):
command = f"python some_script.py --par {file_path}"
subprocess.run(command, shell=True)
func('/some/file/path/file.csv')
评论
0赞
Bibhav
8/18/2023
你确定这不是人工智能生成的答案吗?
0赞
NeStack
8/18/2023
欢迎来到 Stackoverflow,感谢您的回复,它完成了工作!
0赞
NeStack
8/18/2023
另一件事 - 使用此包时,打印语句/输出不会显示在屏幕上。我怎样才能做到这一点?我希望输出是即时的,而不是在完成整个过程时。TNX系列subprocess
评论
subprocess
subprocess