鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 天下稽首

[已解决]新手/遇到了一个看不懂的异常

[复制链接]
发表于 2020-7-28 09:45:20 | 显示全部楼层
我也有同样的问题,可以确定是编码的问题
f = open(file_name,'r',encoding='iso-8859-1')
我这行代码可以支持英文查找,但对中文关键字的查找不返回任何结果(也没有报错)
(我也是萌新,静待大佬解决)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 09:46:34 | 显示全部楼层
天下稽首 发表于 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)[1]=='.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[i:i+len(key)]==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('=================================================')
运行这个代码,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-28 09:50:47 | 显示全部楼层

还是不行呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 10:00:59 | 显示全部楼层

不懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-28 10:18:56 | 显示全部楼层

没关系,无论如何都非常感谢啦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 11:29:48 | 显示全部楼层    本楼为最佳答案   
天下稽首 发表于 2020-7-28 10:18
没关系,无论如何都非常感谢啦~




把你的目录下文本另存为改下编码就好,建议新建个文件夹,把代码和 txt 都重新保存那个文件夹里,然后 txt 通过下面方法保存:

                               
登录/注册后可看大图

这里选择 UTF-8 那么 open 就要带上参数 encoding = 'UTF-8':

                               
登录/注册后可看大图

这里如果选择 ANSI 就不用带上参数 encoding :

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 18:26:51 | 显示全部楼层
Twilight6 发表于 2020-7-28 11:29
把你的目录下文本另存为改下编码就好,建议新建个文件夹,把代码和 txt 都重新保存那个文件夹里, ...

对 ,把编码改成ANSI不用设置编码正常打开就行了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 17:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表