【发布时间】:2014-08-02 15:57:46
【问题描述】:
我想从 python 标准输入中读取,但也想在我的程序中输入选项。当我尝试将选项传递给我的程序时,我得到错误文件未找到并且我的参数被丢弃。
为了解析参数,我使用以下代码:
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())
为了从标准输入读取,我使用以下代码:
for line in sys.stdin.readlines():
print(preprocess(line,1))
命令行
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'
【问题讨论】:
-
可以加命令行吗?
-
我包含了命令行。
-
嗯...你正试图在
preprocess:open(sys.argv[1], 'rb')中打开它。解析器与它无关。