关于python读取代码行数的问题(小白)
这是小甲鱼课后作业35讲的最后一题(是一个统计代码总行数的程序),我直接粘贴运行后发现程序统计我写的代码只有三百多行就感觉程序有问题,于是发现有的.py文件可以通过迭代读取,有的不能
import os
os.getcwd()
'D:\\py'
with open("第一个小游戏改进.py") as f:
lines=0
for each_line in f:
lines+=1
print(lines)
Traceback (most recent call last):
File "<pyshell#49>", line 3, in <module>
for each_line in f:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 117: illegal multibyte sequence
with open("迭代器的实例.py") as f:
lines=0
for each_line in f:
lines+=1
print(lines)
18
是什么原因呢?希望大佬们帮我康康{:10_266:} 编码问题 open 函数里 加一句 encoding = 'utf-8' 再试试 加一个try...except...
如果错误的话,就在open的参数里加一个encoding="utf-8"来读取 qq1151985918 发表于 2022-7-29 15:22
编码问题 open 函数里 加一句 encoding = 'utf-8' 再试试
为什么有的又可以读取呢,都是.py文件为什么编码不一样{:10_277:} hello? 发表于 2022-7-29 15:45
为什么有的又可以读取呢,都是.py文件为什么编码不一样
首先纠正一个问题,编码跟文件名没关系。同样是.py它可以实际上是一首歌一张图片一部电影,都可以。只是我们约定俗成默认了部分文件储存对应的类型的信息,你完全可以不遵守这个约定。
第二点,事实上可能一个代码是你下载的一个是自己写的吧。py文件编码一般由编辑器默认指定,不同的编辑器(idle,pycharm或者vscode)以及不同的人都有可能导致编码的些微差别。具体在再深入的原因我也不甚了解。
页:
[1]