鱼C论坛

 找回密码
 立即注册
查看: 1839|回复: 2

[已解决]用open()函数打不开.py文件是怎么回事呀?

[复制链接]
发表于 2017-8-29 11:14:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. >>> f = open('C:\\Users\\matre\\Desktop\\Donyuki_CET4_Project\\Mgr_数据库检查.py')
  2. >>> f.read()
  3. Traceback (most recent call last):
  4.   File "<pyshell#1>", line 1, in <module>
  5.     f.read()
  6. UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 94: illegal multibyte sequence
  7. >>>
复制代码


打开的每一个.py文件都提示编码错误   这是怎么回事?
最佳答案
2017-8-29 12:13:06
f = open('C:\\Users\\matre\\Desktop\\Donyuki_CET4_Project\\Mgr_数据库检查.py', encoding='utf8')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-8-29 11:24:09 | 显示全部楼层
参考:
  1. https://pypi.python.org/pypi/chardet

  2. import chardet
  3. #以rb读取文件返回文件的编码(用到了chardet类)
  4.         with open(file_name, 'rb') as f:
  5.             raw = f.read()
  6.             result = chardet.detect(raw)  
  7.             encoding = result['encoding']

  8.         lines = 0   
  9.         with open(file_name,encoding=encoding) as f:
  10.             print('正在分析文件:%s ...' % file_name)     
  11.             try:
  12.                 for each_line in f:
  13.                     lines += 1
  14.             except Exception as reason:
  15.                 print(str(reason)) # 读取出错显示错误信息......
  16.         print('%s -> %s' % (file_name,lines))
  17.         return lines
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-29 12:13:06 | 显示全部楼层    本楼为最佳答案   
f = open('C:\\Users\\matre\\Desktop\\Donyuki_CET4_Project\\Mgr_数据库检查.py', encoding='utf8')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-1 23:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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