【问题标题】:How to set/define/use sys.argv如何设置/定义/使用 sys.argv
【发布时间】:2017-01-31 07:20:23
【问题描述】:

我对 Python 还很陌生,所以请多多包涵。

目前,我在 Pycharm 上的 Anaconda 环境中使用 Python 3.5,我正在尝试了解如何设置/定义/使用 sys.argv,以便在将更改上传到 github 之前自动执行多个流程。

例如:

python function/function.py input_folder/input.txt output_folder/output.txt

这意味着function.py 将从input_folder 中获取input.txt,应用在function.py 中编写的任何脚本,并将结果存储到文件夹output_folder 中的output.txt

但是,当我在终端中输入此内容时,出现以下错误:

python: can't open file 'function/function.py': [Errno 2] No such file or directory

然后,在 Python 控制台中输入 sys.argv,我会收到以下信息:

['C:\\Program Files (x86)\\JetBrains\\PyCharm 2016.2\\helpers\\pydev\\pydevconsole.py',
 '53465',
 '53466']

我的猜测是,如果我正确设置sys.argv[0:1],那么我应该能够将function.py 应用到input.txt 并将结果存储到output.txt

我已经尝试定义这些目录,但它们不起作用。任何帮助都会很棒!

【问题讨论】:

    标签: python-3.x anaconda argv sys


    【解决方案1】:

    您的问题是 python 不知道函数目录存在的位置。如果您尝试从这样的子目录运行脚本

    function
    |_function.py
    | 
    input_folder
    |_input.txt 
    |
    |output_folder
    |_output.txt
    

    你必须告诉python函数文件夹是本地的,所以

    python ./function/function.py ./input_folder/input.txt ./output_folder/output.txt
    

    python $PWD/function/function.py $PWD/input_folder/input.txt $PWD/output_folder/output.txt
    

    $PWD 是一个给出当前目录的 bash 变量

    【讨论】:

    • 我都试过了,得到了python: can't open file './src/venmo__clean.py': [Errno 2] No such file or directory
    猜你喜欢
    • 2020-05-30
    • 1970-01-01
    • 2021-11-18
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    相关资源
    最近更新 更多