【问题标题】:Sending arguments from Batch file to Python script将参数从批处理文件发送到 Python 脚本
【发布时间】:2012-06-05 02:04:36
【问题描述】:

我在 Win XP 上运行 Python 3.2。我通过这个批处理文件运行 python 脚本:

C:\Python32\python.exe test.py %1

%1 是我传递的一个参数,用于在 python 脚本中进行一些处理。

我在批处理文件中有 2 个变量,我也想将它们作为参数发送给 python 脚本。

set $1=hey_hi_hello

set $2=hey_hi

如果可能的话,我希望能够做这样的事情:

C:\Python32\python.exe test.py %1 $1 $2

然后通过sys.argv[2]sys.argv[3]在python脚本中检索这些参数

在这方面的任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: python batch-file windows-xp


    【解决方案1】:

    your_script.bat:

    set VAR_1=this
    set VAR_2=that
    
    python your_script.py %1 %VAR_1% %VAR_2%
    

    【讨论】:

    • 这样就完成了。谢谢!
    • @Tim Henigan:我想你的意思是python test.py %1 %VAR_1% %VAR_2%
    • 请注意,这适用于任何类型的环境变量,本地或全局。所以你可以做类似python %USERPROFILE%\scripts\test.py %1 %VAR_1% %VAR_2%的事情。
    【解决方案2】:

    另一种选择是在 python 脚本之后立即编写参数,如下所示:

    python your_script.py this that

    如果您使用的是 Linux .sh 文件,请记住在运行之前运行 dos2unix XXX.shbash XXX.sh.

    在一个简单的版本中,原因是 dos 和 unix 使用不同的换行符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-24
      • 1970-01-01
      • 1970-01-01
      • 2019-02-10
      • 2015-08-18
      • 2011-09-15
      • 2017-02-11
      相关资源
      最近更新 更多