Python从0到POC编写--文件操作

文件读取:

进行文件读取有两种方式,

一种是使用 open() 函数

另外一种是使用 with open 方式


打开文件的模式有:

  1. 只读模式(默认)

  2. 只写模式(不可读,不存在则创建,存在则覆盖)

  3. 追加模式(可读,不存在则创建,存在则只追加内容)


”+” 表示可同时读写某个文件:

  1. r+ 可读写文件(可读,可写,可追加)

  2. w+ 写读

  3. a+ 追加


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

因为Windows系统的换行符为\r\n,Linux系统的换行符为\n,加上U则能自动把\r\n转换成\n

  1. rU

  2. r+U


“b” 表示处理二进制文件:

  1. rb

  2. wb

  3. ab


open() 方法用于打开一个文件,并返回文件对象,

如果该文件无法被打开,会抛出 OSError 异常 ,

另外需要注意的是,使用 open() 函数需要手动关闭文件。

语法: open(file, mode) mode 为模式

例如:


f = open("D:/test.txt","r+")  # 打开 D盘下的 test.txt 文件

read = f.read() # 读取文件内容

print(read)  # 打印内容 输出 hello python

f.close() # 关闭文件

读取文件内容 (可指定每次读取字字符)

例如:


f = open("D:/test.txt","r+",encoding="utf-8")  # 设置为 utf-8 字符集

read = f.read(5) # 读取 5 个字符

print(read) # 输出 hello

f.close()

readline() 每次读出一行内容 ,

该方法比较适合大文件

例如:


f = open("D:/test.txt","r+",encoding="utf-8")

line = f.readline()  # 每次读出一行内容

while line:     # 循环读取
	print(line)
	line = f.readline()
f.close()

readlines() 读取所有内容(可指定读取字符数),

并保存在列表(list)变量中,每行作为一个元素

该方法读取大文件会比较占内存。

例如:


f = open("D:/test.txt","r+",encoding="utf-8")

lines = f.readlines()

for line in lines
	print(line)
f.close()

对于特殊需求,比如要输出某个文件的第n行内容

可以用 linecache 模块

例如:


import linecache

f = linecache.getline("D:/test.txt",2)  # 输出第2行内容

print(f)

f.close()

如果 是使用 with open 方式,那么可以不用手动关闭文件,

此方法会自动关闭文件。

语法:


with open(file,mode) as f:
	f.read()

f 是别名的意思。


文件写入:

write() 方法将字符串写入文件中,

默认是不换行的,如果想换行的话,得手动加入换行符 ‘\n’

例如:


f = open('D:/test2.txt','a+')

f.write('hello world\n')

a+ 为追加模式

如果是 w+ 的话,则会覆盖掉之前的内容,然后重新写入 。


文件删除:

文件删除使用 os 模块的 remove() 函数去完成

前面在 os 模块中也有提到过

例:


>>> import os
>>> os.remove('D:/test.txt')  #  删除D盘下的 test 文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余十步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值