Python - 文件操作 - 笔记整理

目录

一、文件基本操作

1.1 简单读取

1.2  含义解释总结

1.2.1   文件路径

1.2.2 模式

1.2.3  encoding编码           gbk  or   utf-8

1.2.4  关闭链接

1.3  单行读取输出

1.4  w 写 write

1.4.1  基本操作

1.4.2   小练习

1.5   a  追加写入  append

二、读取图片

2.1   导入图片

2.2   读取图片

2.3  文件的复制

三、文件修改操作

3.1  更改姓氏

3.2  删除源文件 


一、文件基本操作

说明:博主用的是pycharm,大家在观看时根据自己情况做适当调整

1.1 简单读取

新建一个项目-文件操作 - 新建两个文件 - 文本.txt  和 01.py - 文本可随意填写一些内容

1.找到这个01.py文件,双击打开它,编写以下代码:

f = open("文本.txt", mode="r", encoding="utf-8")
content = f.read()
print(content)

2.将会输出文本.txt中的内容

1.2  含义解释总结

open("文件路径",mode=" ",encoding=" ")

1.2.1   文件路径

1.绝对路径(一般不用)
        d:/test/xxxx.txt

2.相对路径
        相对于当前你的程序所处文件夹

若和程序在一个文件夹:    open("文本.txt")
不在一个文件夹:    open("../文本.txt")      ../  上一层文件夹
open(../文件夹名字大/文件夹名字小/文件.txt")

1.2.2 模式

        r:    read   读取
        w:  write 写
        a:   append  追加写入


写入文件时,如果文件不存在,将自动创建一个文件
w模式下,每一次open都会清空文件中的内容

1.2.3  encoding编码
           gbk  or   utf-8

1.2.4  关闭链接

f.close()      #  每次操作后要习惯关闭链接

with  as   也可以替代显性close

 with         上下文,不需要手动关闭文件

import os     和操作系统相关的模块

1.3  单行读取输出

假设文本.txt内容为:

两只老虎

两只老虎

跑的快,跑的快

f = open("文本.txt", mode="r", encoding="utf-8")
line = f.readline()
print(line)
line = f.readline()
print(line)
line = f.readline()
print(line)

>>>两只老虎
>>>
>>>两只老虎
>>>
>>>跑的快

可以发现文本中间有空格,那么怎么删掉它不让其出现呢?

在这里为了简洁我就简写为一段代码了

line = f.readline().strip()
print(line)       # 去掉字符串左右两端的空白,空格,换行,制表符

如果文本中有几百行文字,那么这种方法显然是行不通的,这时我们很自然的会想到循环

for line in f:
    print(line.strip())    

1.4  w 写 write

1.4.1  基本操作

f = open("text.txt", mode="w", encoding="utf-8")
f.write("qqgg77")
f.close() 

正像我前文提到的一样,如果没有text.txt文件,将自动创建一个文件

打开此文件,你会发现里面有你刚写下的内容

1.4.2   小练习

准备一个列表,要求把列表中的每一项内容,写入文件中
list = ["火锅","烧烤","奶茶"]
f = open("美食.txt",mode="w", encoding="utf-8")
f.write(list[0])
f.write(list[1])
f.write(list[2])
f.close()

在这里,我没加制表符,输出为   火锅烧烤奶茶,加制表符如下:

除此之外,大家可以尝试使用with as 和循环来解决这道题

list = ["火锅", "烧烤", "奶茶"]
with open("美食.txt", mode="w", encoding="utf-8") as f:
    for item in list:
        f.write(item)
        f.write("\n")

1.5   a  追加写入  append

f = open("美食.txt", mode="a", encoding="utf-8")
f.write("不能割舍的美食")

二、读取图片

2.1   导入图片

如何将图片导入pycharm中的文件夹呢?

        首先在电脑中找到pycharm中的文件夹,在这里也就是文件操作;接着,将所选图片放到这个文件夹里(记得后缀为.jpg);这时在回到pycharm中使,会发现图片已经被放进去了。

2.2   读取图片

with open("马卡龙.jpg", mode="rb") as f:
    for line in f:
        print(line)

2.3  文件的复制

从源文件中读取内容,写到新路径去。

with open("马卡龙.jpg", mode="rb") as f1, open("../函数/好吃.jpg", mode="wb) as f2:
    for line in f1:
        f2.write(line)

说明:

1.此时在上一文件夹函数中会出现一个好吃.jpg

2.如果觉得代码太长,看着不方便,可以在open前按空格,pycharm会自动加上一个 \ ,如果没有这个会出错,\ 的意思是上下这两行属于同一个代码。

三、文件修改操作

3.1  更改姓氏

        首先用更改姓氏来演示文件修改操作,创建一个文件 - 人名.txt,里面有:张三,李四,王五,周天天;那么,如何将周换成张?

with open("人名.txt", mode="r", encoding="utf-8") as f1, \
    open("人名最终版.txt", mode="w", encoding="utf-8") as f2:
    for line in f1:
        line = line.strip()          # 去掉换行
        if line.startswith("周"):
            line = line.replace("周","张")
        f2.write(line)
        f2.write("\n")

3.2  删除源文件 

import os
os.remove("")
os.rename("","")

里面内容我就不填了,就是文件名字,想看到过程的话可以引用time模块,sleep休眠3秒 

1.从源文件读取内容
2.在内存中进行调整
3.把修改后的内容写入新文件
4.删除源文件,将新文件重命名成源文件

此篇笔记是根据b站 Python解忧堂视频整理而来,大家可自行搭配食用。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qqgg77

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

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

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

打赏作者

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

抵扣说明:

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

余额充值