我正在尝试从一个文件中读取,并试图从用户或私人文件名中获取一个名为word_count.txt
的默认文件:
fname = ""
question = raw_input("Enter y if you would like to use a sample text file or n if you would like use your own")
if question == "y":
print "ui"
fname = "Word_count.txt"
elif question == "n":
fname = raw_input('Enter the name of the file to be used: ')
else:
print "lame"
然而fname
没有成功,我似乎无法获得其余的代码?
为什么会发生这种情况,如果我输入y
,它应该会出现以下几行:
infile = open(fname, 'r')
for line in infile:
答案 0 :(得分:0)
您发布的代码就像魅力一样:https://repl.it/BUdZ/2
然而,有更多pythonic方法让raw_input
函数具有默认值。其中一个可能是:
fname = raw_input("Enter a file name [default: Word_count.txt]:") or "Word_count.txt"
它是如何工作的?好吧,如果你只是在raw_input
函数的提示中按回车键,该函数将返回None,因此评估or
之后的语句,这意味着字符串Word_count.txt
被赋值给{{ 1}}变量。如果在提示符中输入某些内容,则fname
不会评估条件的所有其他值,因为您只需要or
的一个值为true,因此返回值将分配给{{1 }}