常用操作
# open 操作文件数据 open(file=文件所在位置, # mode=操作文件的模式, # encoding=以什么编码读取文件 二进制数据不需要设置编码) # open(file=,mode=,encoding=)
# 操作文件的模式 r 读 w 写(覆盖) a 追加 (append) b 字节 # f = open(file='data.txt', mode='r', encoding='utf-8') # print(f.read()) # 读取所有的内容 文件内容为12345678oo # f.seek(8) # 移动光标到指定位置 输出oo # print(f.read()) # 数据已经被读取,光标移动到最后
# a 在数据的最后追加数据 创建文件 和在文件的最后写入 # f = open(file='data.txt', mode='a', encoding='utf-8') # f.write('\npython\n') # f.write('文件操作') # f.close()
# readlines 按行读取全部内容 并保存到列表中 f = open(file='data.txt', mode='r', encoding='utf-8') print(f.readlines()) #打印 ['12345678oo888\n', '554422\n', '666'] f.close()
# readline 按行进行读取 # f = open(file='data.txt', mode='r', encoding='utf-8') # print(f.readline()) # 只需要一行数据 每次运行都会读取一行 # 去除换行符加.rstrip() 方法用于删除字符串末尾的空格字符,包括换行符。 # print(f.readline()) # 按行进行读取 # f.close() #读取文件 修改文件内容 再读取文件内容 通过writelines修改 # f = open(file='data.txt', mode='r', encoding='utf-8') # file_data = f.readlines() # f.close() # file_data[2] = '你好\n' # 修改列表的第三个内容 替换内容 '' # f = open(file='data.txt', mode='w', encoding='utf-8') # f.writelines(file_data) # f.close()
#删除文件所有内容 file_path = "data.txt" # 判断文件是否存在 if os.path.isfile(file_path): # 打开文件并清空内容 open(file_path, 'w').close()
# 上下资源管理器 as 重命名 操作完成自动关闭 with open('data.txt', 'w', encoding='utf-8') as f: f.writelines('')
常用文件操作函数
#文件属于系统的 python 需要导包
import os
os.listdir('localurl') # 读取本地的文件中的文件 返回list类型的数据
file_list=os.listdir(r'E:\迅雷下载')# r 取消 \的转义字符
#os.getcwd();读取当前文件路径
os.getcwd();
#os.rename 重命名文件或者文件夹
os.rename('E:\迅雷下载','E:\迅雷下载2')
# 相对路径修改 # os.rename(r'data_file.txt', r'data.txt')
#删除文件
os.remove('E:\\迅雷下载')
#删除空文件 只有这个实现效果
os.rmdir(r'E:\迅雷下载')
import os
import shutil
os.rmdir(path) #删除空文件夹
shutil.rmtree(path) #递归删除文件夹,即:删除非空文件夹
#创建文件夹
# os.mkdir 创建文件夹 只能创建一个文件夹 一个一个文件夹的创建 # os.mkdir(r'F:\python_project2206\day15-文件操作\demo') # os.mkdir(r'F:\python_project2206\day15-文件操作\demo1\demo1') # os.makedirs() # 创建整个路径 记忆创建多个文件夹 maker+dir+s # os.makedirs(r'F:\python_project2206\day15-文件操作\demo1\demo1')
import shutil
# shutil.rmtree() 用于删除非空目录及其所有内容
# 例如,删除名为 my_folder 的目录及其所有内容
shutil.rmtree('my_folder')
# shutil.copy 复制文件 修改文件位置和名称
# shutil.copy('demo1\data.txt', 'text\data2.txt')