我一直在努力从文本文件中打开python中的一些文件,其中包含文件名字符串列表: 例如,.txt文件将包含如下所示的名称列表 R'C:\ Users \用户计算机\文件\ example.txt文件'
我想运行一个查看每一行的循环,看看'example'是否在行中。 如果是这样我想打开(线),但我不能,并得到一个OSError:[Errno 22]无效的参数:
如果我手动输入文件名,我可以打开它,但变量不会打开它。我尝试将变量分配给line,替换'\ n'尝试StringIO,但无处可去。我假设它是因为python将变量看作一个字符串对象并需要一个文件对象。但是如何将字符串行转换为同名的文件对象。 感谢
答案 0 :(得分:0)
open
函数接受str
个参数,所以为了做你所描述的,你会做类似的事情
with open(r'names.txt') as examples:
for line in examples:
if 'example' in line:
with open(line.strip()) as example_file:
# do something with example_file
因此,每个example_file
都会根据names.txt
中的行逐个打开。
答案 1 :(得分:0)
with open('names.txt', 'r') as examples:
search = str(input('Who would you like to find?: '))
for line in examples:
if search in line:
print('Searching...')
print(search, 'is here!')
我自己仍然在学习python但是应该检查每一行输入的名称,如果找到或不打印则打印。您当然可以根据自己的需要进行调整。如果这有帮助,请告诉我!