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

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

例如,

>python testProgram.py argument 1 argument 2

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

【问题讨论】:

    标签: python arguments space


    【解决方案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"
        

        【讨论】:

          猜你喜欢
          • 2021-12-16
          • 1970-01-01
          • 1970-01-01
          • 2021-11-24
          • 2021-12-03
          • 1970-01-01
          • 1970-01-01
          • 2015-04-13
          • 2020-12-12
          相关资源
          最近更新 更多