>>>
掌握如何创建,打开和关闭文件
掌握如何写入和读取文件的内容
了解os和os.path模块
掌握如何创建和删除目录
掌握如何判断文件目录是事存在的方法
掌握如何遍历目录
掌握如何删除,重命名文件
掌握获取文件基本信息的方法
12.1 基本文件操作
13.1.1 创建和打开文件
file = open(filename, made, [encoding='utf-8']) # []表示可选
# made 有:
//默认为t(文本模式)
r, rb, r+, rb+,
w, wb, w+, wb+,
a, ab, a+, ab+,
// r(只读) w(读写) a(追加) b(二进制) +(更新文件,并将文件指针放到开始位置)
13.1.2 关闭文件
file.close();
13.1.3 找天文件时使用with语句
with expression as filename # filename = expression;
pass
这样做的好处,是为了打开文件失败,with 会直接关闭流。不支出现IO流错误
13.1.4 写入文件内容
要求模式为:w,a,w+,a+
file.write(str)
file.writelines(str)
13.1.5 读取文件
要求模式为:r,r+
a, 读取指定字符
file.read([size]) # size 可选, 表示,读取多少个字符,默认读取所有
file.seek(offset, [whence]) # offset,表示文件指针,移动几个字符
# whence,0表示从头计算,1,从当前位置计算
b, 读取一行
当文件很大时,就需要一行一行的读取了
file.readline()
c, 读取所有行
file.readlines() # 返回的是一行一行列表
13.2 目录操作
13.2.1 os和os.path模块
import os
os.name # 获取当前操作系统的类型
os.linesep # 获取当前系统的换行符
os.sep # 获取路径分隔符
os,os.path模块还提供了一些操作目录的函数,具体百度
13.2.2 路径
a, 相对路径
os.getcwd() # 当前工作文件的绝对文件夹
b, 绝对路径
os.path.abspath(path) # 获取path的绝对路径
c, 拼接路径
os.path.join(str1, str2, ....) # 就是拼接字符串
# 如果全是绝对路径,取最后一个字符串
13.2.3 判断目录是否存在
a, os.path.exists(path) # 可以判断目录和文件存在不
# 返回值是true/false
13.2.4 创建目录
a, 创建一级目录
os.mkdir(path, [mode=0o777]) # 可选,表示指定数值模式,非unix系统无效
if os.path.exists(path): # 创建一级目录的通用方法
os.mkdir(path)
多级目录的创建方法;
import os
def mkdir(path):
if not os.path.isdir(path): # 表示是否存在
mkdir(os.path.split(path)[0])
os.mkdir(path)
else:
print('false')
mkdir(r"c:/py/abc/abcd/abcde")
b, 创建多级目录
os.makedirs(path, mode==0o777) # 同上
13.2.5 删除目录
os.rmdir(path)
if os.path.exists(path): # 删除目录的通用方法
os.rmdir(path)
13.2.6 遍历目录
os.walk(path, [topdown], [onerror], [followlinks])
# topdown,表示遍历顺序, 默认true,自顶而下
# 返回值为3个元素元组的生成器,(遍历目录所有文件)
# 示例代码如下
import os
tuples = os.walk(r"C:\PY\dirs")
for root,dirs,file in tuples:
flag = len(root)* ' '
print(root)
for name in dirs:
print(flag,"dir:",name)
for name in file:
print(flag,"fil:", name)
13.3 高级文件操作
access(path, accessmode) # 获取文件是否有指定的访问权限(读取/写入/执行)
# R_OK,W_OK,X_OK/F_OK,与权限,一一对应
chmod(path, mode) # 修改指定文件的访问权限
13.3.1 删除文件
os.remove(path)
if os.path.exists(path):
os.remove(path)
13.3.2 重命名文件和目录
os.remove(src, dst) # 源文件路径,改名后的路径
13.3.3 获取文件基本信息
os.stat(path) # 返回的值,需要格式化
string = os.stat(path)
string.st_size # 默认单位字节
string.atime # 最后一次访问时间
为上面这个函数格式化时间
def formatTime(longTime)
import time
return time.strftime('%y-%m-%d %H:%M:%S', time.localtime(longtie)