python-文件操作

一、文件的概念

  • 文件的操作一共分三个步骤
  • 打开文件
  • 读写文件  
    •   读,将文件内容写入内存
    •   写,将内存内容写入文件
  •   关闭文件

      操作文件的函数/方法

 1、 read方法---读取文件

  • #1、打开文件----注意大小写
    file = open(文件路径,mode = "",encoding = "")

    文件路径分绝对路径和相对路经

  • 绝对路径:D:/test/xxxx/1.txt
  • 相对路径:../上一层文件
  • mode参数表示访问方式
  •  实例:准备一个名称为文件读取操作.txt文件;

 

path = open("文件读取操作.txt",mode="r",encoding="utf-8")  #当前文件夹中
# open("D:/Python/py/python基础/06_文件操作/文件读取操作.txt",mode='r',encoding='utf-8')
line = path.readline() line2 = path.read() 
print(
"readline()方法读取的内容是 %s:" %line1)
print(
"read()方法读取的内容是 %s:" %line2)

line = path.readline().strip() #去掉字符串两端的空白、加空格、换行、制表符 print(line)
  • 常用的遍历方式【重要】
for line in path:
    print(line.strip())
  • 在其它文件夹的打开方式

 

 open("../文件夹")

2、write写文件

path =open("写入文件.txt", mode ="w", encoding="utf-8")
path.write("写入测试")     #写入内容
path.writelines("123455677") #追加写入

执行后:可以把文件创建出来。路径和python同路径下

  • 准备一个列表,把列表中的每一项都写入文件中
lst = ["张三","三年内","以往","多年"]
f1 = open("文件写入操作.txt", mode="w", encoding="utf-8")
f1.write(lst[0])
f1.write("\n") #换行
f1.writelines(lst[1])        #把“三年内吸写入”

如果想要全部写入,则

for item in lst:
f1.write(item)
f1.write("\n")
f1.close()

with结构语法【常用】,

  • 读文本
# with
with open("文件读取操作.txt",mode="r",encoding="utf-8") as f: #f=open
    for line in f :
        print(line.strip())

读图片【1、读取图片 不能给encoding参数 2、在读取非文本文件的时候要加上b

with open("图片.jpg",mode="rb")as f:
    for line in f:
        print(line )
  • 复制
# 文件的复制
# 从源文件中读取内容,写入到一个新路径中
with open("图片.jpg",mode="rb")as f,open("../复制图片1.jpg",mode="wb")as f2:
    for line in f:
         f2.write(line)

图片.jpg复制一份到上一层文件中,并且命名为复制图片1.jpg

  • 内容修改
#把文件中的文字进行修改
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")
  • 删除、覆盖操作

在之前要导入两个模块

import os   #导入和系统相关的模块引入
import time #导入时间模块
os.remove("人名单.txt")  #删除
# time.sleep(5)
#覆盖源文件
os.replace("人名单_副本.txt", "人名单.txt")

 

posted @ 2023-12-07 21:03  zhang0513  阅读(3)  评论(0编辑  收藏  举报