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

本文介绍了Python在读取文件时遇到的两个常见异常:'unicodeescape' codec错误和'gbk' codec无法解码的问题。通过在路径前添加'r'前缀和指定文件编码为UTF-8来解决这些问题。示例代码展示了如何读取文件内容并使用循环打印,对于初学者在处理编码和文件读取时具有指导意义。
摘要由CSDN通过智能技术生成

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

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读取,并循环打印的代码如下&#x

Python中,可以使用内置的`os`模块或者`pathlib`模块来读取文件的属性。 使用`os`模块读取文件属性的方法如下: ```python import os # 假设我们要获取的文件路径是 'example.txt' file_path = 'example.txt' # 使用os.path.getsize()获取文件大小 file_size = os.path.getsize(file_path) # 使用os.path.getmtime()获取文件修改时间 file_last_modified = os.path.getmtime(file_path) # 使用os.stat()获取更详细的信息 stat_result = os.stat(file_path) # 从stat_result中可以提取出很多信息,例如: file_mode = stat_result.st_mode file_size = stat_result.st_size file_owner = stat_result.st_uid file_group = stat_result.st_gid file_device = stat_result.st_dev file création_time = stat_result.st_ctime file_access_time = stat_result.st_atime file_modification_time = stat_result.st_mtime # 打印获取到的信息 print(f"文件大小: {file_size}") print(f"文件修改时间: {file_last_modified}") print(f"文件模式(权限): {file_mode}") print(f"文件所有者UID: {file_owner}") print(f"文件所属组GID: {file_group}") print(f"文件设备ID: {file_device}") print(f"文件创建时间: {file_creation_time}") print(f"文件访问时间: {file_access_time}") print(f"文件最后修改时间: {file_modification_time}") ``` 使用`pathlib`模块读取文件属性的方法如下: ```python from pathlib import Path # 假设我们要获取的文件路径是 'example.txt' file_path = Path('example.txt') # 使用Path对象的stat()方法获取文件属性 stat_result = file_path.stat() # 从stat_result中可以提取出很多信息,例如: file_size = stat_result.st_size file_mode = stat_result.st_mode file_owner = stat_result.st_uid file_group = stat_result.st_gid file_device = stat_result.st_dev file_creation_time = stat_result.st_ctime file_access_time = stat_result.st_atime file_modification_time = stat_result.st_mtime # 打印获取到的信息 print(f"文件大小: {file_size}") print(f"文件修改时间: {file_modification_time}") print(f"文件模式(权限): {file_mode}") print(f"文件所有者UID: {file_owner}") print(f"文件所属组GID: {file_group}") print(f"文件设备ID: {file_device}") print(f"文件创建时间: {file_creation_time}") print(f"文件访问时间: {file_access_time}") print(f"文件最后修改时间: {file_modification_time}") ``` 在两个例子中,我们分别使用了`os`模块和`pathlib`模块来读取文件的属性,例如文件大小、修改时间等。`pathlib`是Python 3.4引入的一个新的文件系统路径库,它提供面向对象的文件系统路径操作方法,比传统的`os.path`更加直观和易用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值