Python在命令行参数中占用额外空间

时间:2017-11-15 12:03:09

标签: python python-2.7

当我在python中有以下代码部分时,假设我们使用输入文件input.txt作为第一个命令行参数执行此python文件。

import os
import sys
with open(sys.argv[1],"r") as input:

假设python文件的名称是file.py,而input.txt是这个的参数,所以命令如下,

>>file.py input.txt

我收到以下错误:

Traceback (most recent call last):
File "C:\Users\hdutta\Desktop\file.py", line 3, in <module>
with open(sys.argv[1],"r") as input:
IOError: [Errno 2] No such file or directory: ' input.txt'

看起来它在第一个参数处占用了额外的空间。为什么会这样?我错过了什么。这之前有用。但我现在有一个新系统,我正面临这个问题。

我在链接中得到了一些线索 - Python argparse adds extra space before an argument

但如果有任何办法,我无法修改sys.argv =

1 个答案:

答案 0 :(得分:0)

嗯很奇怪

但你可以这样做:

sys.argv[1].lstrip().strip() # Will remove any spaces to left / right of the string.