栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python基本文件操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python基本文件操作

Python基本文件操作
      • 文件操作的作用
      • 文件的基本操作
        • 文件操作步骤
        • 打开文件
          • 语法
          • 打开模式
        • 文件对象方法
            • 语法
            • read()
            • readlines()
            • readline()
            • seek()
            • 关闭
      • 文件和文件夹的操作
        • os模块
        • 文件/文件夹的重命名/剪切
        • 删除文件
        • 创建文件夹
        • 文件夹是否存在
        • 删除文件夹
        • 获取当前工作目录
        • 修改当前工作目录
        • 获取某文件夹下所有文件/文件夹名
        • 实例--解开某一文件夹

文件操作的作用

思考:什么是文件?

思考:文件操作包含什么?

答:打开、关闭、读、写、复制…

思考:文件操作的的作用是什么?

答:读取内容、写入内容、备份内容…

总结:文件操作的作用就是把一些内容(数据)存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力

文件的基本操作 文件操作步骤
  1. 打开文件
  2. 读写等操作
  3. 关闭文件
打开文件 语法

在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下:

f=open(name, mode)
  • name:是要打开的目标文件的路径字符串。

  • mode:设置打开文件的模式(访问模式):只读、写入、追加等。

  • f变量用于接受open 函数返回的对象

打开模式
模式描述
r只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。文件不存在,则会报错(read)
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。(write)
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。(attach)
b二进制格式打开文件 (binary)
+读写模式
  • r/w/a可与b/+组合,rb/wb/ab可与+组合
文件对象方法 写 语法
f.write(text)
  • f为打开文件时接收到open返回文件对象的变量
  • text为想要写入的字符串

如:

# 1. 打开文件
f = open('diary.txt', 'w')

# 2.文件写入
f.write('今天的任务:睡大觉n')
f.write('明天的任务:摆大烂n')
f.write('后天的任务:做大梦n')
f.write('最终的任务:醒大悟n')

# 3. 关闭文件
f.close()

注意:

  1. w 和a模式:如果文件不存在则创建该文件;如果文件存在,w模式先清空再写入,a模式直接末尾追加。
  2. r模式:如果文件不存在则报错。
读 read()
f.read(num)
  • num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。
readlines()
textlines=f.readlines()
  • textlines用于接受readlines 的返回值——一个由文件每行内容的字符串组成的列表。

如:

f = open('diary.txt')
textlines= f.readlines()

print(textlines)
#['今天的任务:睡大觉n', '明天的任务:摆大烂n', '后天的任务:做大梦n', '最终的任务:醒大悟n']

for textline in textlines:
    print(textlines)
""" 
今天的任务:睡大觉

明天的任务:摆大烂

后天的任务:做大梦

最终的任务:醒大悟

"""
# 关闭文件
f.close()
readline()
textline=f.readline()
  • readline()一次读取一行内容,返回该行的字符串。

如:

f = open('diary.txt')

textline = f.readline()
print(f'第1行:{textline}')

"""
第1行:今天的任务:睡大觉

"""

for i in range(2,5):
    textline = f.readline()
    print(f'第{i}行:{textline}')
    
"""
第2行:明天的任务:摆大烂

第3行:后天的任务:做大梦

第4行:最终的任务:醒大悟

"""

# 关闭文件
f.close()
seek()

作用:用来移动文件指针。

语法如下:

f.seek(cookie, whence=0)
  • cookie为偏移量,whence为参考位置

whence可取的值

  • 0:文件开头
  • 1:当前位置
  • 2:文件结尾
关闭
f.close()
  • 请务必记得关闭文件
文件和文件夹的操作 os模块

在Python中文件和文件夹的操作要借助os(operating system)模块里面的相关功能,具体步骤如下:

  1. 导入os模块
import os
  1. 使用os模块相关功能
os.fuction()
文件/文件夹的重命名/剪切
os.rename(src, dst)
  • src:source。即旧文件路径字符串。
  • dst:destination。即新文件路径字符串。
  • 将src重命名或剪切到dst
删除文件
os.remove(path)
  • path为想删除文件的路径字符串
创建文件夹
os.mkdir(path)
  • path 为想创建文件夹的路径字符串

  • make directory的简称

文件夹是否存在
os.path.isdir(path)
  • path是文件夹则返回True ,不是返回False
删除文件夹
os.rmdir(path)
  • path 为想删除文件夹的路径字符串
  • remove directory的简称
获取当前工作目录
cwd_path=os.getcwd()
  • 用于获取当前工作的路径(常用于命令行程序)
  • get current working directory的简称
修改当前工作目录
os.chdir(path)
  • 移动到path,并修改当前工作目录为path
  • change directory的简称
获取某文件夹下所有文件/文件夹名
files=os.listdir(path)
  • 返回一个由path路径文件夹下所有文件/文件夹名组成的列表,这里由files接受
  • list directory的简称
实例–解开某一文件夹

需求:

指定某一文件夹名,将该文件夹删除,但文件夹中的文件/文件夹保留在被删除的文件夹所在目录

import os

def destoryDir(path):
    """解开path路径下的文件夹"""

    #判断path是否是有效文件夹路径·
    if os.path.isdir(path):
        print("开始解开",path,"···")
    else:
        print("错误文件夹路径!")
        return
    
    index=path.rfind("/")
    
    if index==-1:
        #没找到"/",说明是当前目录下的文件夹
        
        files=os.listdir(path)  #获取文件夹下的文件/文件夹
        for file in files:
            now=path+"/"+file  #现在的文件路径
            future=file  #文件路径前进
            os.rename(now,future)  #剪切
        
    else:
        #找到"/",说明不是当前目录下的文件
        
        files=os.listdir(path) #获取文件夹下的文件/文件夹
        for file in files:
            now=path+"/"+file  #现在的文件路径
            future=path[0:index]+"/"+file  #文件路径前进
            os.rename(now,future)  #剪切

    os.rmdir(path)  #删除文件夹
    print("已成功解开!")
            

destoryDir("todestory")

效果:

未解时


解的过程中

解之后

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/870634.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号