Skip to main content
 首页 » 编程设计

python之为什么 sys.argv[] 中有一个空格

2025年05月04日10Renyi-Fan

argc = len(sys.argv) 
 
if (argc < 3 or argc > 5): 
    printusage() 
    sys.exit() 
 
insensitive = 1 if ("-i" in sys.argv) else 0 
boundaries = 1 if ("-b" in sys.argv) else 0 
 
filename = sys.argv[argc-2] 
str = sys.argv[argc-1] 
 
print "Looking for '", str , "' in '" , filename , "'" 

输出是

python count_words.py -b -i football.txt goal

Looking for ' goal ' in ' football.txt '

为什么 'goal' 和 'football.txt' 前后有空格?当我尝试自己打印 str 和 filename 变量时,它们没有这些空格。

我也试过在打印中使用 str.strip(),但没有效果。

有什么想法吗?

请您参考如下方法:

sys.argv中没有空格,是打印时使用逗号引起的。尝试

print "Looking for '%s' in '%s'" % (str, filename) 

并尽量避免隐藏内置 str。