Python Read von Stdin mit Argumenten
Ich möchte aus Python stdin lesen, aber auch Eingabemöglichkeiten in meinem Programm haben. Wenn ich versuche, eine Option an mein Programm zu übergeben, wird die Fehlerdatei nicht gefunden und meine Argumente werden verworfen.
Zum Parsen der Argumente verwende ich den folgenden Code:
parser=argparse.ArgumentParser(description='Training and Testing Framework')
parser.add_argument('--text', dest='text',
help='The text model',required=True)
parser.add_argument('--features', dest='features',
help='The features model',required=True)
parser.add_argument('--test', dest='testingset',
help='The testing set.',required=True)
parser.add_argument('--vectorizer', dest='vectorizer',
help='The vectorizer.',required=True)
args = vars(parser.parse_args())
Zum Lesen aus dem Standard verwende ich den folgenden Code:
for line in sys.stdin.readlines():
print(preprocess(line,1))
Befehlszeile
echo "dsfdsF" |python ensemble.py -h
/usr/local/lib/python2.7/dist-packages/pandas/io/excel.py:626: UserWarning: Installed openpyxl is not supported at this time. Use >=1.6.1 and <2.0.0.
.format(openpyxl_compat.start_ver, openpyxl_compat.stop_ver))
Traceback (most recent call last):
File "ensemble.py", line 38, in <module>
from preprocess import preprocess
File "/home/nikos/experiments/mentions/datasets/preprocess.py", line 7, in <module>
with open(sys.argv[1], 'rb') as csvfile:
IOError: [Errno 2] No such file or directory: '-h'