f = open(file_name,'r',encoding='iso-8859-1')
我这行代码可以支持英文查找,但对中文关键字的查找不返回任何结果(也没有报错)
(我也是萌新,静待大佬解决) 天下稽首 发表于 2020-7-28 09:41
你是指?报错的那个吗?我也不是很清楚啊,看错误提示能找出来吗?
import os
initial=input('请输入待查找的目录:')
key=input('请输入关键字:')
for(root,dirs,file)in os.walk(initial):
for each in file:
count_line=0
y=1
z=0
if os.path.splitext(each)=='.txt':
file1=open(os.path.join(root,each),'rb')
lines = file1.read().decode('utf-8')
for each_line in lines:
count_line+=1
count_index=[]
x=0
for i in range(len(each_line)):
if each_line==key:
count_index.append(i)
x=z=1
if x:
if y:
print('在文件【{0}】中找到关键字【{1}】'.format(os.path.join(root,each),key))
y=0
print('关键字出现在第{0}行,第{1}个位置。'.format(count_line,count_index))
if z:
print('=================================================')
运行这个代码, 1q23w31 发表于 2020-7-28 09:46
运行这个代码,
还是不行呀 天下稽首 发表于 2020-7-28 09:50
还是不行呀
不懂了 1q23w31 发表于 2020-7-28 10:00
不懂了
没关系,无论如何都非常感谢啦~ 天下稽首 发表于 2020-7-28 10:18
没关系,无论如何都非常感谢啦~
把你的目录下文本另存为改下编码就好,建议新建个文件夹,把代码和 txt 都重新保存那个文件夹里,然后 txt 通过下面方法保存:
https://xxx.ilovefishc.com/forum/202005/25/072650zqq1fqqmng421bqz.jpg
这里选择 UTF-8 那么 open 就要带上参数 encoding = 'UTF-8':
https://xxx.ilovefishc.com/forum/202005/25/072647nvzjv2zemvgxet5g.jpg
这里如果选择 ANSI 就不用带上参数 encoding :
https://xxx.ilovefishc.com/forum/202006/22/222937li4vv400i6v44b6z.png Twilight6 发表于 2020-7-28 11:29
把你的目录下文本另存为改下编码就好,建议新建个文件夹,把代码和 txt 都重新保存那个文件夹里, ...
对 ,把编码改成ANSI不用设置编码正常打开就行了~
页:
1
[2]