文件的操作

万恶之源,文件操作:
1,文件操作的函数:
open(文件名(路径),mode="?",encoding="字符集")

2,模式:r读,w写,a追加.r+读写,w+读写,r+b读取非文本文件,比如图片.

3,常用的操作
    1.光标(seek)*
        seek(0)开头
        seek(0,2)结尾
    2,tell()打印光标所在位置
    3,truncate 截取文件
    4,修改文件
        1,引入os模块
        2,打开目标文件,r
        3,打开文件副本,w
        4.从r中读取内容进行修改,写入到副本中
        5.删除源文件
        6,重命名副本

4.文件替换和改名应用,把"alex昨天干嘛去了"的内容进行修改,改为烧饼,"alex昨天干嘛去了_副本"改名为"alex昨天干嘛去了"

import os #引入os模块
with open("alex昨天干嘛去了",mode="r",encoding="utf-8")as f1,\
    open("alex昨天干嘛去了_副本",mode="w",encoding="utf-8") as f2:
    for line in f1:
        line = line.replace("alex","sb")
        f2.write(line)
os.remove("alex昨天干嘛去了") #删除之前的老文件
os.rename("alex昨天干嘛去了_副本","alex昨天干嘛去了")#给新文件改名
time.sleep(3)#主程序睡着三秒。看到删效果

5.读取计算机g盘图片123复制到计算机e盘

f = open("g:/123.jpg",mode="rb")#读取计算机g盘图片123.jpg
e = open("e:/123.jgp",mode="wb")#写入到计算机e盘图片123.jpg
for line in f:
    e.write(line)
f.close()
e.flush()
e.close()

 python3 文件读写操作

 1.  文件打开模式

 

2. 文件操作方法

 

 

文件读写与字符编码

 

 

 python文件操作步骤示例

  以读取为例,这样一个文件:text.txt,  该文件的字符编码为 utf-8

1

2

3

4

5

总有一天总有一年会发现

有人默默的陪在你的身边

也许 我不该在你的世界

当你收到情书

也代表我已经走远

 

1. 基本实现

1

2

3

= open('text.txt''r', encoding='utf-8')

print(f.read())

f.close()

 

2. 中级实现

在基本实现的的基础上,可能要考虑到一些可能出现的意外因素。因为文件读写时都有可能产生IO错误(IOError),一旦出错,后面包括 f.close() 在内的所有代码都不会执行了,因此我们要保证文件无论如何都应该关闭。

1

2

3

4

5

6

7

= ''  # 全局要申明下 f 变量,不然 f.close() 会报黄

try:

    = open('text.txt''r', encoding='utf-8')

    print(f.read())

finally:

    if f:

        f.close()

 在上面的代码中,就是 try 中的代码出现了报错,依然会执行 finally 中的代码,即文件关闭操作被执行。

 

3. 最佳实践

为了避免忘记或者为了避免每次都要手动关闭文件,且过多的代码量,我们可以使用 with 语句,with 语句会在其代码块执行完毕之后自动关闭文件。

1

2

3

4

5

6

7

8

9

10

11

with open('text.txt''r', encoding='utf-8') as f:

    print(f.read())

print(f.closed) # 通过 closed 获取文件是否关闭,True关闭,False未关闭

 

# 执行结果:

# 总有一天总有一年会发现

# 有人默默的陪在你的身边

# 也许 我不该在你的世界

# 当你收到情书

# 也代表我已经走远

# True

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值