Python3.4如何读取一个文件并打印

Python用来处理文本,是非常简洁方便的,散仙对Python也是处于入门阶段,今天写了个简单的小脚本来,读取文件,并打印,结果报异常了,总结如下:

第一个异常信息


"SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape"


报错的原因是:原因:文件名中的 \U 开始的字符被编译器认为是八进制。

解决的方法是在路径前面加入r标记

第二个异常信息如下:

Traceback (most recent call last):
  File "D:\eclipseworkspace2yw\Python\readfile.py", line 3, in <module>
    for line in open(r"C:\Users\qindongliang\Desktop\临时目录\test.log"):
UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 21: illegal multibyte sequence

原因是因为,编码处理不正确,解决办法,在open方法的构造里,指定字符编码为UTF即可。

散仙读取文件的编码也是UTF-8的,内容如下:

lucene,solr,nutch
中国,外国,美国
我们都是中国热,载入


使用Python读取,并循环打印的代码如下:


#Python的注释
for line in open(r"C:\Users\qindongliang\Desktop\临时目录\test.log",encoding='utf-8'):
    words=line.split(",")
    print("外层循环:"+line) 
    for w in words:
     print("内层循环:"+w)
  





输出的内容如下:
外层循环:lucene,solr,nutch

内层循环:lucene
内层循环:solr
内层循环:nutch

外层循环:中国,外国,美国

内层循环:中国
内层循环:外国
内层循环:美国

外层循环:我们都是中国热,载入
内层循环:我们都是中国热
内层循环:载入

总结:写python代码时,注意缩进,在eclipse里面编码还好,编译器可以自动提示,如果直接在linux下写,这些错误,对于新手们来说,可能无从下手,根本不知道哪里错了,或者到底写在那个位置才合适。

猜你喜欢

转载自qindongliang.iteye.com/blog/2053214