【发布时间】:2018-11-14 09:11:53
【问题描述】:
我想从多个文件中搜索一个字符串
我尝试了什么:
import os
path= 'sample1/nvram2/logs'
all_files=os.listdir(path)
for my_file1 in all_files:
print(my_file1)
with open(my_file1, 'r') as my_file2:
print(my_file2)
for line in my_file2:
if 'string' in line:
print(my_file2)
输出:
C:\Users\user1\scripts>python search_string_3.py
abcd.txt
Traceback (most recent call last):
File "search_string_3.py", line 6, in <module>
with open(my_file1, 'r') as my_file2:
FileNotFoundError: [Errno 2] No such file or directory: 'abcd.txt'
但是文件 abcd.txt 存在于 C:\Users\user1\scripts\sample1\nvram2\logs
为什么错误显示没有这样的文件或目录?
使用全局:
当我使用all_files=glob.glob(path)而不是all_files=os.listdir(path)时显示以下错误
C:\Users\user1\scripts>python search_string_3.py
sample1/nvram2/logs
Traceback (most recent call last):
File "search_string_3.py", line 7, in <module>
with open(my_file1, 'r') as my_file2:
PermissionError: [Errno 13] Permission denied: 'sample1/nvram2/logs'
【问题讨论】:
标签: python python-3.x