孙兴华《中文讲Python从入门到办公自动化》笔记(二) 您所在的位置:网站首页 python读取文件夹下的所有文件的数据 孙兴华《中文讲Python从入门到办公自动化》笔记(二)

孙兴华《中文讲Python从入门到办公自动化》笔记(二)

2023-07-12 19:41| 来源: 网络整理| 查看: 265

1 文件的操作(打开、读写、关闭) 1.1 访问模式

 总结:

1、访问模式(三个主访问模式)

'r' : 只读(当不指定访问模式时,默认该模式):如果文件不存在报错,不支持写

'w' :写入:如果文件不存在则新建文件,写入时覆盖原有内容

'a' : 追加: 如果文件不存在则新建文件,写入时在原有内容基础上追加新内容

2、访问模式特点('b':二进制,'+':可读可写)

r、rb、r+、rb+  :如果文件不存在报错,文件指针在文件开头

w、wb 、w+、 wb+ :如果文件不存在则新建文件,覆盖,文件指针在文件开头

a 、ab、 a+、 ab+ : 如果文件不存在则新建文件,追加,文件指针在文件结尾

1.2 文件打开

文件对象 = open('文件名','访问模式')

1.3 文件读写

文件对象.write(string )

string 表示要写入文件的字符串(或字节串,仅适用写入二进制文件中)。

a=open("text.txt",'w')

a.write("""aaa bbb ccc ddd """)

如果文件内容是中文的,在打开文件时加上参数encoding='UTF-8'。

file2 =open("textZH.txt",'w',encoding='UTF-8')

文件对象.read(num) 

num表示从文件中读取数据的长度(单位字节),\n占一个字符,省略就表示读取所有数据

文件对象.readlines() 

需要赋值给一个变量

将整个文件中的内容一次性读取,并返回一个列表,原文件中每一行数据为一个元素。例如['aaa\n','bbb\n','ccc']。每一行都有换行自带\n,最后一行没有换行不带\n

文件对象.readline() 

需要赋值给一个变量

一次性读取一行内容,第一次调用读取第一行,第二次调用读取第二行...不带换行符\n

1.3 文件关闭

文件对象.close()

1.4 移动指针

文件对象.seek(偏移量,起始位置)

偏移量:假设起始位置是开头,偏移量是5,那文件指针就在第6个字节上

起始位置:0开头,1当前位置,2文件结尾

偏移量和起始位置都为0 时,可以只写一个0

例如已有文件:

a=open("text.txt",'r') a.seek(7,0) print(a.read()) a.close()

读取结果

 2 文件备份

文件备份的步骤:

步骤1:用户输入目标文件,

file =  input('请输入您要备份的文件名:')   

步骤2:截取目标文件名并拼接出备份文件的名字

2.1) 提取后缀,找到名字中最右侧的点.

2.2)  拼接新备份文件的名字 = 原名字+[备份]+后缀

步骤3:备份文件写入数据(将原文件内容复制到备份文件)

3.1) 打开原文件和备份文件

3.2) 原文件读取,新文件写入。如果不确定目标文件的大小,循环读取固定大小进行写入,当读取结果为0时,读取结束。

步骤4:关闭文件

def fileBackup(): #1、确定要备份的文件名 fileName = input("请输入要备份的文件名:") #2、截取目标文件名并拼接出备份文件的名字 dotPlace = fileName.rfind('.') #与find()功能相同,但查找方向为右侧开始,找到最右边点的位置 print(dotPlace) if dotPlace > 0 : suffix = fileName[dotPlace:] #点到最后为后缀名 print(suffix) else: print('文件名输入错误') #拼接备份文件的新名字 backupFileName = fileName[:dotPlace] + "_备份_" + suffix print(backupFileName) #3、将原文件的内容分批写入备份文件 oldFile = open(fileName,'rb') backupFile = open(backupFileName,'wb') while True: data = oldFile.read(2048) print(data) print(type(data)) if len(data) == 0: #当读取数据为0时,读完了终止循环 break backupFile.write(data) oldFile.close() backupFile.close() if __name__ == "__main__": fileBackup()

3 文件和文件夹操作

文件和文件夹操作需要导入 os 模块,使用模块的相关方法。import os

3.1 文件和文件夹重命名

os.rename('旧文件名', '新文件名')  #目标文件名可以写路径,否则默认当前文件夹下面

os.rename('旧文件夹名', '新文件夹名')

3.2 删除文件和文件夹

os.remove(目标文件名)

没有指定文件会报错,不能删文件夹

os.rmdir(文件夹名字)

没有指定文件夹会报错

3.3 创建文件夹

os.mkdir(文件夹名字)

重复创建相同名字的文件夹报错

3.4 获取当前文件所在目录路径

os.getcwd()

3.5 改变默认目录

os.chdir(目录)    :用于改变当前工作目录到指定的路径

例如在文件夹aa目录下创建bb目录:

os.chdir('aa')

os.mkdir('bb')

3.6 获取某个文件夹下所有文件和文件夹的名称

os.listdir(目录)  :返回指定文件夹下所有文件和文件夹的名称,不写目录即为当前文件夹下



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有