python基础学习15

tech2023-11-29  35

# -*- encoding: utf-8 -*- """ # 文件操作 1、作用:把一些内容(数据)存储起来,让程序下一次执行的时候直接使用,而不必重新制作一份 2、文件的基本操作 2.1、打开文件:open(name,mode) name: 要打开的文件名(可包含路径) mode: 访问的模式,r 读、 w 写,a 追加 2.2、读写文件 2.2.1、写:文件对象.write('data') 2.2.2、读:文件对象.read(num) --num从文件中读取的数据长度(单位:字节),不填表示读取所有文件数据。 文件对象.readlines() --按照行的方式一次性读取所有内容,并返回列表,文件每一行数据为列表的一个元素 文件对象.readline() --一次读取文件一行内容 2.2.3 指针:seek(偏移量,起始位置) 起始位置:0--文件开头、1--当前位置、2--结尾 偏移量,从其实位置开始进行偏移 2.3、关闭文件 文件对象.close() 3、文件备份 4、文件和文件夹的操作: 要操作文件和文件夹,要借助os模块里面的功能 import os 4.1、文件和文件夹重命名:os.rename(old_name,new_name) 4.2、删除文件:os.remove(filename) 4.3、删除文件夹:os.rmdir(文件夹名字) 4.4、创建文件夹:os.mkdir(文件夹名字) 4.5、获取当前目录:os.getcwd() 4.6、切换目录:os.chdir(目标目录) 4.7、获取目录列表:os.listdir(目录) --获取当前目录下所有的文件夹和文件,返回列表数据 """ # 1、文件的基本操作 ''' # 1.1、打开文件 1、以只读模式(r)打开不存在的文件,报错 rb: 以二进制的方式打开文件进行读取 r+: 打开一个文件用于读写,其他与主模式r一样 文件指针:在文件开头 2、以写入模式(w)打开不存在的文件,创建新文件 wb: 以二进制的方式打开文件进行写入 w+: 打开一个文件用于读写,其他与主模式w一样 文件指针:在文件开头 3、以追加模式(a)打开不存在的文件,创建新文件 ab: 以二进制的方式打开文件进行追加 a+: 打开一个文件用于读写,其他与主模式a一样 文件指针:在文件结尾 ''' # f = open('test.txt', 'r') # FileNotFoundError: [Errno 2] No such file or directory: 'test.txt' # f = open('test.txt', 'w') # test.txt不存在,创建新文件 # f = open('test2.txt', 'a') # test2.txt不存在,创建新文件 # 1.2、读取、写入、追加文件 # 1.2.1、写文件(覆盖写入) f = open('test.txt', 'w') # 以写模式访问,f为文件对象名 f.write('abcd') f.close() # 关闭文件,不关闭占内存 # 1.2.2、追加(追加写入) f = open('test.txt', 'a') f.write('\nappend') # 不加\n换行追加后test.txt内容为abcdappend f.close() # 1.2.3、读取文件 # read() f = open('test.txt', 'r') print(f.read()) # abcd # append f.close() f = open('test.txt', 'r') print(f.read(2)) # ab f.close() # readlines() f = open('test.txt', 'r') print(f.readlines()) # ['abcd\n', 'append'] 返回列表 f.close() # readline() f = open('test.txt', 'r') print(f.readline()) # abcd f.close() # 1.3、移动指针 f = open('test.txt', 'r') f.seek(0,2) print(f.read()) f.close() f = open('test.txt', 'a+') f.seek(0) print(f.read()) f.close() # abcd # append # 2、文件备份 # 用户输入aa目录下任意的文件名,程序完成对该文件的备份,备份的文件名为原文件名+[备份]+原后缀 # 2.1、用户输入要备份的文件名 # old_name = input('请输入需要备份的文件名称:') # # 通过文件名中最后一个.截取文件名和后缀 # index = old_name.rfind('.') # # 2.4、当用户输入无效文件名如.txt,请用户重新输入 # # 当.所属于的下标大于0,代表后缀前面是有文件名的 # if index > 0: # # 2.2、规划备份文件的文件名 # # new_name = filename+'[备份]'+后缀 # filename = old_name[:index] # postfix = old_name[index:] # new_name = filename+'[备份]'+postfix # print(new_name) # # 2.3、读写文件 --读源文件数据并写入到本份文件 # f1 = open(old_name, 'r') # f2 = open(new_name, 'w') # while True: # # 读取原文件 # data = f1.read() # # 当读取到的数据为空,即长度为0,跳出循环 # if len(data) == 0: # break # # 不清楚文件有多大时,可以循环读取1024个字节的数据写入新文件 # # 写入备份文件 # f2.write(data) # f1.close() # f2.close() # else: # print('输入的文件名称不规范,请重新输入!') # 4、文件和文件夹的操作 # import os # 重命名文件名 # os.rename('test1.txt', 't10.txt') # 删除文件 # os.remove('test1[备份].txt') # 创建文件夹 # os.mkdir('aa') # 在当前目录下新建aa文件夹 # os.mkdir('aa/bb')# 在aa目录下新建bb文件夹 # 重命名文件夹 # os.rename('aa', 'a1') # 删除文件夹 # os.rmdir('a1/bb')# 删除a1目录下的bb文件夹 # 获取当前目录 # a = os.getcwd() # print(a) # E:\Program\Python\Study # # 切换路径 # os.chdir('a1') # a = os.getcwd() # print(a) # E:\Program\Python\Study\a1 # 获取目录列表 # a = os.listdir('aa') # print(a) # ['bb', 't1.txt'] ''' # 批量修改文件名,批量新增'Python_',批量删除'Python_'。 1、设置要增加或删除的字符串的标识 2、设置修改后的文件名格式 3、获取批量做修改的路径下的所有文件和文件夹 4、执行修改 ''' import os flag = int(input('请输入1--文件增加字符,2--文件删除字符:')) dir = 'aa/' old_list = os.listdir(dir) if flag == 1: for a in old_list: print(a) new_nm = 'Python_' + a os.rename(dir+a, dir+new_nm) elif flag == 2: for a in old_list: new_nm = a[7:] os.rename(dir + a, dir + new_nm)
最新回复(0)