2016-07-22 15 views
0

私はかなりPythonを初めて使いました。sys.argvを設定/定義/使用する方法

現在、私はPycharmのAnaconda環境でPython 3.5を使用していますが、私は自分の変更をgithubにアップロードする前にいくつかのプロセスを自動化できるように、/ define/use sys.argvの設定方法を理解しようとしています。例えば

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

これはfunction.pyは、input_folderからinput.txtを取るfunction.pyで書かれたものは何でもスクリプト適用、およびフォルダoutput_folderoutput.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.pyinput.txtに適用し、結果をoutput.txtに保存する必要があります。

私は既にこれらのディレクトリを定義しようとしましたが、うまく動作しませんでした。どんな助けも素晴らしいだろう!

答えて

1

あなたの問題は、pythonは関数のディレクトリがどこにあるのかわかりません。あなたがそう

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

のようなサブディレクトリからスクリプトを実行しようとしている場合は、機能フォルダがローカルになるように

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変数です

+0

私は両方を試して、 'python:ファイルを開くことができません './src/venmo__clean.py':[Errno 2]いいえhファイルまたはディレクトリ ' –

関連する問題