从 python 2.7 中的用户输入打开文件
Open a file from user input in python 2.7
如何通过请求用户输入来打开文件? raw_input("PROMPT")
请求用户 filename.txt
后,我得到错误代码:
TypeError: coercing to Unicode: need string or buffer, file found
这告诉我我需要将用户输入转换为字符串,或以不同的方式格式化。
Pythonselectfile
的正确说法是"open this file"?
selectfile = file(raw_input("Enter Filename: "), 'r')
with open(selectfile, 'r') as inF:
with open('outputfile.txt', 'w') as f:
for index, line in enumerate(inF):
if myString in line:
print "Search Term Found!"
f.write("Line %d has string: %s" % (index, line))
filename = "outputfile.txt"
myfile = open(filename)
lines = len(myfile.readlines())
问题在行 -
selectfile = file(raw_input("Enter Filename: "), 'r')
with open(selectfile, 'r') as inF:
需要直接打开文件名(用户输入),如下-
with open(raw_input("Enter Filename: "),'r') as inF:
此外,您的代码中似乎存在缩进问题,您似乎真的不想使用 with
命令打开输入文件,您可能需要 -
inF = open(raw_input("Enter Filename: "),'r')
如何通过请求用户输入来打开文件? raw_input("PROMPT")
请求用户 filename.txt
后,我得到错误代码:
TypeError: coercing to Unicode: need string or buffer, file found
这告诉我我需要将用户输入转换为字符串,或以不同的方式格式化。
Pythonselectfile
的正确说法是"open this file"?
selectfile = file(raw_input("Enter Filename: "), 'r')
with open(selectfile, 'r') as inF:
with open('outputfile.txt', 'w') as f:
for index, line in enumerate(inF):
if myString in line:
print "Search Term Found!"
f.write("Line %d has string: %s" % (index, line))
filename = "outputfile.txt"
myfile = open(filename)
lines = len(myfile.readlines())
问题在行 -
selectfile = file(raw_input("Enter Filename: "), 'r')
with open(selectfile, 'r') as inF:
需要直接打开文件名(用户输入),如下-
with open(raw_input("Enter Filename: "),'r') as inF:
此外,您的代码中似乎存在缩进问题,您似乎真的不想使用 with
命令打开输入文件,您可能需要 -
inF = open(raw_input("Enter Filename: "),'r')