如何 set/define/use sys.argv
How to set/define/use sys.argv
我是 Python 的新手,所以请多多包涵。
目前,我在 Pycharm 上的 Anaconda 环境中使用 Python 3.5,我正在尝试了解如何 set/define/use sys.argv
以便我可以在将我的更改上传到 github.
之前自动化几个过程
例如:
python function/function.py input_folder/input.txt output_folder/output.txt
这意味着 function.py
将从 input_folder
中获取 input.txt
,应用 function.py
中编写的任何脚本,并将结果存储到 output.txt
文件夹中output_folder
.
但是,当我在终端中键入此内容时,出现以下错误:
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 不知道函数目录在哪里。如果您正尝试 运行 来自子目录的脚本,例如
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 的新手,所以请多多包涵。
目前,我在 Pycharm 上的 Anaconda 环境中使用 Python 3.5,我正在尝试了解如何 set/define/use sys.argv
以便我可以在将我的更改上传到 github.
例如:
python function/function.py input_folder/input.txt output_folder/output.txt
这意味着 function.py
将从 input_folder
中获取 input.txt
,应用 function.py
中编写的任何脚本,并将结果存储到 output.txt
文件夹中output_folder
.
但是,当我在终端中键入此内容时,出现以下错误:
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 不知道函数目录在哪里。如果您正尝试 运行 来自子目录的脚本,例如
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 变量,它给出了当前目录