【python笔记】第十四节 文件操作

💕💕💕 博主昵称:摆烂阳💕💕💕

🥰博主主页跳转链接
👩‍💻博主研究方向:web渗透测试 、python编程
📃 博主寄语:希望本篇文章能给大家带来帮助,有不足的地方,希望友友们给予指导


操作文件的步骤:

1. 打开文件
2. 对文件进行(读,写),保存
3. 关闭文件

一、打开

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

file: 指要打开文件的名字 (准确说是路径,可写绝对路径,可写相对路径)

原始字符串:

让字符串不会被转义 ,字符串前面加个r print(r"\n") # 转义符不会再转义了,纯字符

建议:字符串里面存储的是 路径,正则表达式 通通使用原始字符串

路径
1、绝对路径

不易出错,唯一性

2、相对路径

… 表示上一级
/ 下一级

pycharm绝对路径快捷键:ctrl + shift + c

二、关闭

fileName = r"demo.txt"
demo = open(fileName)
content = demo.read()  # 读取文件中的内容,它会将内容全部保存为一个字符串返回
demo.close()  # 关闭文件
print(demo.read())

python提供了一个语法,可以自动帮忙关闭,再也不用手动了

with open …as 语句

with 会自动将文件关闭 自动执行f.close()

with open(fileName) as f:
content = f.read()
print(content)

三、读取

read() :读取全部内容
readline() : 读取一行内容
readlines() :读取每行行内容,放进列表

读取文件分为两种
1.纯文本文件(使用utf-8等编码编写的文本文件)
常见中文编码:utf-8,gbk,gb2312
2.二进制文件(图片、视频)

# 按行读取
with open(fileName,encoding="utf-8") as f:
    print(f.readline(),end="")
    print(f.readline(),end="")
    print(f.readline(),end="")
    print(f.readline())

四、写入

r:只读 (不传,则是只读)

w:可写 ,表示覆盖,如果文件不存在会创建文件

a:可写 ,表示追加,如果文件不存在会创建文件

fileName = r"demo4.txt"

# with 会自动将文件关闭   f.close()
# 指定w模式,表示可写
with open(fileName, "w", encoding="utf-8") as f:
    f.write("aa\n")  # 括号内需要传递一个字符串
    f.write("aa\n")  # 括号内需要传递一个字符串
    f.write("aa\n")  # 括号内需要传递一个字符串
    f.write("aa")  # 括号内需要传递一个字符串

# a 表示追加,不会清空以前的内容
with open(fileName, "a", encoding="utf-8") as f:
    f.write("aa\n")  # 括号内需要传递一个字符串
    f.write("aa\n")  # 括号内需要传递一个字符串
    f.write("aa\n")  # 括号内需要传递一个字符串
    f.write("aa\n")  # 括号内需要传递一个字符串
    
    

+:为操作符增加功能
r+:可读也可写
w+:可写也可读
a+:可写也可读

五、二进制文件

音乐,图片 二进制文件


读取模式参数:
    t 读取文本文件(默认方式)
    b 读取二进制文件fileName = r"周杰伦 - 晴天.mp3"


with open(fileName,"rb") as f:
    content = f.read()
    new_path = "qq.mp3"
    with open(new_path,"ab") as f2:
        # 将读取的数据写入到新的对象中
        f2.write(content)
        
        
 

本章小结

本文是本人以前笔记,博主主页跳转链接
如果有哪里不对的话欢迎各位大佬指出问题,本人也是初学python,希望可以和各位朋友一起学习进步。

点击跳转到博主python专栏:
如果有喜欢web安全的朋友,请在web渗透专栏中进行查看
点击跳转到博主web渗透专栏

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年3月5日
下一篇 2023年3月5日

相关推荐