python3中对文件操作的详解

迷茫
Lepaskan: 2017-03-25 11:03:04
asal
1860 orang telah melayarinya

步骤:打开文件-》操作文件-》关闭文件


 打开文件

文件句柄 = open('文件路径', '模式')
Salin selepas log masuk

指定文件编码

文件句柄= open('文件路径','模式',encoding='utf-8')
Salin selepas log masuk

为了防止忘记关闭文件,可以使用上下文管理器来打开文件

with open('文件路径','模式') as 文件句柄:
Salin selepas log masuk

打开文件的模式有:

  • r,只读模式(默认)。

  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】

  • a,追加模式。【可读; 不存在则创建;存在则只追加内容;】

  • r+,可读写文件。【可读;可写;可追加】

  • w+,写读

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU

  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb

  • wb

  • ab


关闭文件

文件句柄.close()
Salin selepas log masuk

操作文件:

detach

#占位
Salin selepas log masuk

fileno(返回文件描述符,用于底层操作系统的 I/O 操作)

fid = 文件句柄.fileno()print(fid)
Salin selepas log masuk

flush(刷新缓冲区,将缓冲区中的数据立刻写入文件)

文件句柄.flush()
Salin selepas log masuk

isatty(判断文件是否连接到一个终端设备,返回布尔值)

文件句柄.isatty()
Salin selepas log masuk

read(从文件中读取指定的字符数,默认读取全部)

str = 文件句柄.read()      #读取整个文件
str1 = 文件句柄.read(10)   #读取文件前10个字符
Salin selepas log masuk

readable(判断文件是否可读,返回布尔值)

文件句柄.readable()
Salin selepas log masuk

readline(每次最多读取一行数据,每行的最后包含换行符'\n')

print(文件句柄.readline())   #读取第一行数据print(文件句柄.readline(3))  #读取第二行前3个字符print(文件句柄.readline())   
#读取第二行剩余字符print(文件句柄.readline())   #读取第三行
Salin selepas log masuk

seek(移动文件读取的指针,如果文件中包含中文,移动指针必须是3的倍数,不然会报错,因为一个中文字符等于3个字节)

文件句柄.seek(6)
Salin selepas log masuk

seekable(判断文件指针是否可用,返回布尔值)

文件句柄.seekable()
Salin selepas log masuk

tell(获取指针位置)

文件句柄.tell()
Salin selepas log masuk

truncate(截断,把指针后面的内容删除,并写入文件,要在可写模式下操作)

f = open('text.txt','r+',encoding='utf-8')
f.seek(9)   #把指针移动到第9个字节后面(即第3个中文后面)f.truncate()  #把第3个中文后面的字符删除,并写入文件f.close()
Salin selepas log masuk

writable(判断文件是否可写,返回布尔值)

文件句柄.writable()
Salin selepas log masuk

write(把字符串写入文件,并返回字符数)

文件句柄.write('字符串')
Salin selepas log masuk

Atas ialah kandungan terperinci python3中对文件操作的详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!