python 文件操作

本文详细介绍如何使用Python进行文件操作,包括读取不同格式的文本文件、读取二进制文件、写入文件以及创建新文件等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、读取文件的内容:
 1、简单读取
  需要知道的是,现代操作系统不允许程序直接读写磁盘,而是由操作系统来返回一个文件对象,所以,在获取到系统的文件对象后,还需要关闭。
  读取文件的内容无非就是3个步骤:拿到文件对象,读取,关闭文件对象,对应python代码为

  #第一个参数为文件的路径,第二个参数即为读取的模式
 f = open(‘/xxx/file.txt','r');
print(f.read())
f.close()

  如果上面再read的时候出现错误,文件对象就不能被正确的关闭,所以要作出异常处理:
  try:
f = open(‘/xxx/file.txt','r')
print(f.read())
 finally:
if f:
f.close()

  这种类java的写法看起来很啰嗦,python给我们提供了精简版:
 with open(‘/xxx/file.txt','r') as f:
print(f.read())
  
 2、一次读取一行:
 f.readlines()
  使用这种方式读取配置文件比较好。
 with open('/xxx/file.txt','r') as f:
for line in f.readlines():
print(line.strip()) # 把末尾的'\n'删掉

  3、一次读取指定个数:
 part = f.read(5)
  一次读取指定的个数,因为python默认是读取UTF-8的文件,所以中文算一个字符,英文也算一个字符,
  with open(‘/xxx/file.txt','r') as f:
part = f.read(5)
while part:
print(part)
        part = f.read(5)

  4、读取非UTF-8的文本文件:
  如果文本文件不是UTF-8格式的,需要给open()函数传入encoding参数
  f = open('/Users/michael/gbk.txt', 'r', encoding='gbk')
   
  5、读取二进制文件:
   读取二进制文件,比如音乐、视频、图片等时,记得模式要为rb:
    #读取二进制文件
  with open(‘/xxx/test.png','rb') as f:
  data = f.read()
  print(data.__sizeof__())
  其中data即为图片的所有字节数据,如果直接print(data)的话,是以16进制的形式输出来的。

二、写入文件内容
  f.write('hello')
  可以反复的调用write('')方法来向文本文件中写入文本,不过需要注意的是,是直接从头开始写,并且,所有的现代操作系统都是,写文件的时候,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。所以,一定要养成使用with的好习惯,因为with最后是肯定会调用close()方法的:

 #写文件
with open(‘/xxx/file.txt', 'w') as f:
f.write('hello')
f.write('你好')


三、创建新文件
创建新文件时,只需要open要创建的文件路径,并且文件读取模式为'w'(注意必须为w,如果文件不存在,为r会报错),如果文件不存在,就会自动创建新的文件
 with open(‘/xxx/testRename.txt', 'w') as file:

pass



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值