获取用户输入

144 投票
5 回答
416120 浏览
提问于 2025-04-16 01:54

我正在运行这个:

import csv
import sys
reader = csv.reader(open(sys.argv[0], "rb"))
for row in reader:
    print row

然后我得到了这个回应:

['import csv']
['import sys']
['reader = csv.reader(open(sys.argv[0]', ' "rb"))']
['for row in reader:']
['    print row']
>>> 

对于 sys.argv[0],我希望它能提示我输入一个文件名。

我该怎么做才能让它提示我输入文件名呢?

5 个回答

28

sys.argv[0] 其实不是你输入的第一个参数,而是你正在运行的 Python 程序的文件名。我想你想要的是 sys.argv[1]

206

使用 raw_input() 函数 来获取用户输入(适用于2.x版本):

print "Enter a file name:",
filename = raw_input()

或者直接:

filename = raw_input('Enter a file name: ')

如果你使用的是Python 3.x版本:

filename = input('Enter a file name: ')
119

在Python 3.x中,使用input()来代替raw_input()

撰写回答