使用空格指定参数以运行 python 脚本

Posted

技术标签:

【中文标题】使用空格指定参数以运行 python 脚本【英文标题】:Specifying arguments with spaces for running a python script 【发布时间】:2012-08-07 08:26:04 【问题描述】:

如何使用包含空格的参数运行 python?我正在使用 MacOS

例如,

>python testProgram.py argument 1 argument 2

其中“参数 1”是单个参数?

【问题讨论】:

【参考方案1】:

其中“参数 1”是单个参数。

你基本上已经回答了你的自己的问题,"argument 1" 确实是一个单一的论点。

换句话说,你需要引用它,类似于以下之一:

python testProgram.py "argument 1" 'argument 2'

但这实际上不是 Python 问题,它取决于您用于运行 Python 脚本的 shell。

例如,bash,单引号和双引号之间存在差异,其中最重要的可能是各种扩展,如 $HOME - 单引号变体不做这些扩展。

【讨论】:

如果我有 RAW_PATH="/Volumes/TOSHIBA EXT/../" 并且我想使用 $RAW_PATH 作为参数怎么办?这对我不起作用。 @thigi:你会使用"$RAW_PATH" - 变量在双引号内工作得很好。 好的,谢谢!很抱歉没有尝试,但我认为这行不通,因此我没有尝试!很抱歉给您带来不便...【参考方案2】:

或者在 python 内部使用subprocess

subprocess.call(['python','testProgram.py','argument 1','argument 2'])

但其他答案更有可能是您想要的。

【讨论】:

【参考方案3】:

将包含空格的参数用双引号括起来

> python testProgram.py "argument 1" "argument 2"

这将在 Windows 和 Linux 下工作,所以在 Mac OS 下也可以。

【讨论】:

【参考方案4】:

试试:

>python testProgram.py "argument 1" "argument 2"

【讨论】:

以上是关于使用空格指定参数以运行 python 脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何安排生产python脚本以触发函数在每天的指定时间运行

怎样才能让python 脚本像shell命令一样直接运行并可以接收参数

python 如何调用带参数的shell脚本

参数传递:shell脚本调用一个带参数的python函数

添加键盘快捷键以使用当前文件作为参数运行 .py 脚本

python使用subprocess.Popen运行bat脚本时报不支持输入重新定向错误分析