我对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
。
我已经尝试定义这些目录,但它们不起作用。任何帮助都会很棒!
答案 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变量,它给出了当前目录