从 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')