python-文件处理和os模块
文件处理和os模块
文件操作步骤
1.打开文件 open(文件路径,访问模式)
2.读取数据,写入数据 read write
3.关闭文件 close
open(文件路径,访问模式)
文件路径:相对路径:相对于你的位置 绝对路径:详细地址
f = open('test.txt', 'w') f.write('tttttttt') f.close()
访问模式 r,w,a 最基础的操作 r+,w+,a+ ,rb二进制
r 读取数据,不能写入数据
f=open('test.txt','r') com =f.read() print(com) f.close()
w 写入数据,覆盖原有的内容
f=open('test.txt','w') com =f.write('wertewrtr') f.close()
# 没有文件创建文件,写入
# 乱码解决:读取写入方式一致
f=open('test1.txt','w',encoding='utf-8') com =f.write('消费') f.close()
a 追加内容
f=open('test1.txt','a',encoding='utf-8') f.write('\n2222')
看指针位置
t = f.tell() print(t) f.close()
r+ 表示可读,可写
f=open('test1.txt','r+',encoding='utf-8')
看指针位置
t = f.tell() print(t)
从seek偏移seek(偏移量(偏移几个数据),光标位置)0:开头 1:当前 2:结尾
f.seek(1,0) f.write('222222') print(f.read()) f.close() f=open('test1.txt','r+',encoding='utf-8') print(f.read(18)) f.close()
w+ 可写
f=open('test1.txt','w+',encoding='utf-8') f.write('tttttttttttttttttttt') f.close()
a+追加 没有文件会创建新文件,指针在结尾
f=open('test1.txt','a+',encoding='utf-8') f.write('\n3245t434') f.close()
rb wb ab 二进制文件
文本文件:用txt能打开
二进制文件:用txt不能打开的
读取
read() 读取整个文件
readline() 每次读取一行数据
readlines 一次性读取所有内容,放在列表中
读取文件的方式
with open(路径,模式) as 变量名:
代码块
with open('test1.txt','r') as f: a=f.read() print(a)
文件和文件夹的操作
os模块
import os # 创建一个文件夹,有文件夹时不能创建文件 file1 = 'test3.txt' os.mkdir(file1) # 删除文件夹 目录不是空的不能删除 os.rmdir(file1) # 删除非空目录 shutil import shutil shutil.rmtree(file1) # 文件重命名 rename(原文件吗,新文件名) os.rename('test3.txt','test111.txt') # 如何获取文件路径地址 ../ ./ # 获取当前路径的文件夹绝对路径 print(os.getcwd()) # 获取当前路径的绝对路径 __file__当前文件的路径 print(os.path.abspath(__file__)) print(__file__) # 父目录 print(os.path.dirname(os.path.abspath(__file__))) # 判断是否为目录 f = r'C:\Users\LJF\PycharmProjects\pythonstudy\class7' print(os.path.isdir(f)) # 判断是否为文件 print(os.path.isfile(f))