如何打开文件名包含在字符串中的 Python 文件?
How do I open a file with Python with the file name contained in a String?
如果文件名的一个单词包含在字符串中,有没有办法打开文件?在这里,我将单词 keys 存储在变量 'query' 中,我希望如果单词 'keys' 是字符串 'query' 的值,它应该打开文件 'keys in drawer.txt' 作为它包含单词 keys,或者如果 'query' 的值是 'pen',它应该打开文件 'pen on table'.txt。
这是 table.txt 文件上的笔:
pen is on the table
drawer.txt
中的键
the keys are in the drawer
我该怎么做?我知道这有点复杂,但请尝试回答这个问题,我最近 2 天就在处理这个问题!
query=("keys")
list_directory=listdir("E:\Python_Projects\Sandwich\user_data\Remember things\")
if query in list_directory:
with open(f"E:\Python_Projects\Sandwich\user_data\Remember things\
{list_directory}",'r') as file:
read_file=file.read
print(read_file)
file.close
pass
由于某种原因此代码无效。
read() 和 close() 是方法,不是属性。你应该写 file.read()
而不是 file.read
。此外,使用with关键字时关闭文件是多余的。
list_directory
是字符串列表,不是字符串。这意味着您需要对其进行迭代,以便将列表中的每个字符串与您的查询进行比较。
调用file.read
和file.close
方法的时候还需要加上括号(file.read()
、file.close()
),否则不会执行。
这段重新编写的代码应该可以解决问题:
query = "keys"
path = "E:\Python_Projects\Sandwich\user_data\Remember things\"
list_directory = listdir(path)
for file_name in list_directory:
if query in file_name:
with open(f"{path}{file_name}",'r') as file:
content = file.read()
print(content)
file.close()
如果文件名的一个单词包含在字符串中,有没有办法打开文件?在这里,我将单词 keys 存储在变量 'query' 中,我希望如果单词 'keys' 是字符串 'query' 的值,它应该打开文件 'keys in drawer.txt' 作为它包含单词 keys,或者如果 'query' 的值是 'pen',它应该打开文件 'pen on table'.txt。 这是 table.txt 文件上的笔:
pen is on the table
drawer.txt
中的键the keys are in the drawer
我该怎么做?我知道这有点复杂,但请尝试回答这个问题,我最近 2 天就在处理这个问题!
query=("keys")
list_directory=listdir("E:\Python_Projects\Sandwich\user_data\Remember things\")
if query in list_directory:
with open(f"E:\Python_Projects\Sandwich\user_data\Remember things\
{list_directory}",'r') as file:
read_file=file.read
print(read_file)
file.close
pass
由于某种原因此代码无效。
read() 和 close() 是方法,不是属性。你应该写 file.read()
而不是 file.read
。此外,使用with关键字时关闭文件是多余的。
list_directory
是字符串列表,不是字符串。这意味着您需要对其进行迭代,以便将列表中的每个字符串与您的查询进行比较。
调用file.read
和file.close
方法的时候还需要加上括号(file.read()
、file.close()
),否则不会执行。
这段重新编写的代码应该可以解决问题:
query = "keys"
path = "E:\Python_Projects\Sandwich\user_data\Remember things\"
list_directory = listdir(path)
for file_name in list_directory:
if query in file_name:
with open(f"{path}{file_name}",'r') as file:
content = file.read()
print(content)
file.close()