是否有一种方法可以打开文件,如果文件名的一个单词包含在字符串中?在这里,我已经将单词keys存储在变量'query'中,我想如果单词'keys'是字符串'query'的值,它应该打开文件'keys in drawer.txt',因为它包含单词keys,或者如果'query'的值是'pen',它应该打开文件'pen on table'.txt。下面是pen on table.txt文件:
pen is on the table
key in 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
。此外,当使用和时关闭文件是多余的字。
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()