2018-07-23
- 主要内容
认识系统中的文件
操作系统中的文本文件
操作系统中的二进制文件
操作程序中的字符串数据[特殊:JSON]
操作程序中的对象数据[序列化:反序列化]
扩展:操作办公软件文档数据
(1)创建文件:创建文件夹:os.makedirs()创建多级文件夹 os.mkdir()创建单个文件夹
Ps:
import os
os.mkdir("d:/新建文件夹")
os.makedirs("d:/创建文件夹/新建文件夹/……")
注释:上面以及下面所叙述的内容全部都是基于windows操作系统。
os.mknod(..)适用于unix/linux操作系统的函数
os.mknod("d:/创建文件夹/命名.txt")
windows操作系统里面创建文件夹里的文件直接输入:open("d:/创建文件夹/命名.txt")
打开一个已经存在的文件:一般使用open()函数替代os.open()
os.open("d:/新建文件夹/01.txt",flags=1)
查看文件夹下面的所有内容
def chk_files(s_path):
if os.path.isfile(s_path):
print("这是一个文件:", s_path)
if os.path.isdir(s_path):
print("这是个一个文件夹", s_path)
f_list = os.listdir(s_path)
for file in f_list:
chk_files(s_path + "/" + file)
chk_files("d:/360驱动大师目录")
打开python交互模式
输入操作指令:【[ 'buffer缓存', 'close关闭', 'closed关了吗?', 'detach',
'encoding编码', 'errors错误', 'fileno', 'flush刷新',
'isatty', 'line_buffering', 'mode模式', 'name名称',
'newlines一行', 'read读取', 'readable可以读取吗?', 'readline读取一行',
'readlines全部读取每一行作为一个元素的列表',
'seek跳转指定位置|偏移', 'seekable可以偏移吗?', 'tell',
'truncate', 'writable可以写入吗?', 'write写数据', 'writelines'写一个列表进入]
】
open(file,mode='rb/wb')
rb:二进制读取文件
wb:二进制写入文件
1,文件操作
和操作系统交互,python标准库:os,os.path
交互命令行:import os ->dir(os/os.path) 学会使用help
创建文件:open、创建文件夹mkdir、创建多级文件夹、makedirs
删除文件:remove\rmdir\removedirs
重命名文件:rename
查看文件信息:getctime()/getatime()/getmtime()/getsize()/
create access modify
遍历文件:isfile()/isdir()/listdir()/scandir()
2,文件操作编程
文本文件内容
f = open(‘要创建的文件名字和位置’,mode = "rt/wt")
f.write(str)/writelines(list)
f.read()/readline()/readlines()【一般不用,容易造成卡顿系统】
二进制文件内容
f = open('要创建的文件名字和位置',mode = "rb/wb")
f.write(bytes/bytearray)
f.read()
快捷操作:with语句:自动打开和关闭文件
with open(file,mode='rt/wt/rb/wb')as 随便一个变量例如(f):
f.write()/read()
3,程序数据内容:
文本文件的操作:json;数据类型的转换
将一个程序中的数据,写入到文本文件中
json.dump(dict,open(‘文件’,mode='r'))
如果没有此‘文件’,程序运行时会自动创建
从【文本文件】中读取数据到程序中,,直接转换成对应的类型
data = json.load(dict,open('文件’,mode = 'w'))
二进制文件的操作:pickle:数据的文件操作
将程序中的数据,写入到二进制文件中
pickle.dump(dict,open(‘文件’,mode ="wb"))
从【二进制文件】中读取数据到程序中
pickle.load(dirt,open(‘文件’,mode = "rb"))