1
私は次のような状況に陥っています:並列を使用しているときにPythonスクリプトの入力引数を正しく処理する方法は?
私のスクリプト(たとえばscript.py)は、引数として入力を受け取ります。私は可能な入力のシーケンスを持つ.txtファイルを持っています(各入力はIDを表す文字列です)。スクリプト内
私はこの#!/usr/bin/python
import sys
def doStuff(ID):
ID = str(ID)
path = ID + "/posts?"
print "\n\n\t"+path
foo = ID + "hello"
print foo
print ID+"hello"
sys.exit(0)
inputID =sys.argv[1]
print "Input ID\t-\t" + str(inputID)
doStuff(inputID)
のようなもの、私は
python script.py 123456789
でコードを実行する場合は、私が正しく
Input ID - 123456789
123456789/posts?
123456789hello
123456789hello
得るかが、私は
ような何かを行う場合cat IDs.txt | parallel python script.py {}
私はここで何が起こっているのか
Input ID - 123456789
/posts? 123456789
hello6789
hello6789
を取得しますか?私は文字列を連結するときの順序がさらにinputIDが
FileInputクラスモジュールに見て、これはあなたがパイプで連結された標準出力ラインからのデータを受け入れることができます:https://docs.python.org/ 2/library/fileinput.html –
python scrの中でファイルを読み込むと便利ですipt。私の場合、代わりにpythonスクリプトの入力は単なる文字列です。 – user2614596