python 文件操作

    xiaoxiao2021-03-25  114

    一、读取文件的内容:  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

    转载请注明原文地址: https://ju.6miu.com/read-24655.html

    最新回复(0)