在python中将字符串作为文件打开

时间:2017-04-10 17:57:25

标签: python

我一直在努力从文本文件中打开python中的一些文件,其中包含文件名字符串列表: 例如,.txt文件将包含如下所示的名称列表 R'C:\ Users \用户计算机\文件\ example.txt文件'

我想运行一个查看每一行的循环,看看'example'是否在行中。 如果是这样我想打开(线),但我不能,并得到一个OSError:[Errno 22]无效的参数:

如果我手动输入文件名,我可以打开它,但变量不会打开它。我尝试将变量分配给line,替换'\ n'尝试StringIO,但无处可去。我假设它是因为python将变量看作一个字符串对象并需要一个文件对象。但是如何将字符串行转换为同名的文件对象。 感谢

2 个答案:

答案 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但是应该检查每一行输入的名称,如果找到或不打印则打印。您当然可以根据自己的需要进行调整。如果这有帮助,请告诉我!