欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python基础学习8----文件基本操作

程序员文章站 2024-01-20 17:33:58
一.文件的打开,open函数 打开模式有很多种 1. 'r': 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 2. 'r+': 打开一个文件用于读写。文件指针将会放在文件的开头,但写入内容会写到文件内容末尾。 3. 'w': 打开一个文件只用于写入。如果该文件已存在则打开文件,并 ......

一.文件的打开,open函数

f = open(file_name,mode)#创建文件对象

打开模式有很多种

  1. 'r': 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

  2. 'r+': 打开一个文件用于读写。文件指针将会放在文件的开头,但写入内容会写到文件内容末尾。

  3. 'w': 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

  4. 'w+': 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

  5. 'a': 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

  6. 'a+': 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。读文件时从文件内容的末尾读,因为文件指针放在文件的结尾。

with open as语句

不必写f.close(),会自动在末尾关闭文件,即使在文件操作中发生错误

with open('/path/to/file', 'r') as f:
    print(f.read())

  

二.文件对象的属性

  file.closed : 如果文件已被关闭返回true,否则返回false。

  file.mode : 返回被打开文件的访问模式。

  file.name : 返回文件的名称。

三.文件的关闭

file_object.close()

四.文件的读写操作

write方法

file_object.write(string)

read方法

file_object.read(count)#count为字节数,不填则读到文件末尾

readlines方法用于读取所有行

file_object.readlines( ) 
#文件内容如下
#12345
#67890
#09876
#54321
p=f.readlines()
print(p)
#输出为['12345\n', '67890\n', '09876\n', '54321']

五.文件的定位

tell方法

print(file_object.tell())#输出文件内的当前位置, 即下一次的读写会发生在文件开头多少字节之后。
#根据编码的不同,每个汉字所占的字节也不同,utf-8中一个汉字占3个字节,此处的数量和read函数的参数意义不同,read函数参数中1代表一个字符
#例如以下为文件内容
#这是汉字

print(file_object.read(3))#输出为这是汉

seek方法

seek(offset ,from)方法改变当前文件的位置。offset变量表示要移动的字节数。from变量指定开始移动字节的参考位置。

如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。

file_object.seek(3)#from参数默认为0

 六.截断文件

truncate() 方法用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字节。 如果没有指定 size,则从当前位置起截断;截断之后 size 后面的所有字符被删除。

file_object.truncate(size)

七.flush方法

flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

file_object.flush()

  

 

未完待续