如何设置/定义/使用sys.argv

时间:2016-07-22 21:21:13

标签: python-3.x anaconda argv sys

我对Python很新,所以请耐心等待。

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

例如:

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

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

但是,当我在终端输入时,我收到以下错误:

output_folder

然后,在Python控制台中键入python: can't open file 'function/function.py': [Errno 2] No such file or directory ,我会收到以下内容:

sys.argv

我的猜测是,如果我要正确设置['C:\\Program Files (x86)\\JetBrains\\PyCharm 2016.2\\helpers\\pydev\\pydevconsole.py', '53465', '53466'] ,那么我应该可以将sys.argv[0:1]应用于function.py并将结果存储到input.txt

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

1 个答案:

答案 0 :(得分: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变量,它给出了当前目录