码迷,mamicode.com
首页 > 编程语言 > 详细

python 文件操作(三)

时间:2018-03-06 17:04:34      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:汉字   append   pre   添加内容   zha   com   import   tree   imp   


转自 http://www.cnblogs.com/sunyang945/p/7900927.html

#文件操作(写入文件,读取文件) #写入文件 #
1.打开文件(打开冰箱) fp = open(test.txt,w) print(fp,type(fp)) #2.写入文件(把大象塞进去) fp.write(什么时候你会觉得不再年轻了?) #3.关闭文件(关上冰箱) fp.close() #读取文件 #1.打开文件(打开冰箱) fp = open(test.txt,r) #print(fp) #2.读取文件(把大象拿出来) txt = fp.read() print(txt) #3.关闭文件(把冰箱门关闭) fp.close() #文件常用函数 #open() 打开或者新建一个文件 ‘‘‘ open(文件路径,打开模式) #基本模式 w write 写入模式 1.文件不存在则新建文件,文件已存在,打开并且清空文件 2.该模式下只能进行写入操作 r read 读取模式 1.文件不存在则报错,文件已存在则打开文件,将指针指向文件的开头 2.该模式下只能进行读取操作 a append 追加模式 1.文件不存在则新建文件,文件已存在则打开文件,将指针指向文件结尾 2.该模式下只能进行写入操作 x xor 异或模式 1.文件已存在则报错,文件不存在则新建文件 2.该模式下只能进行写入操作 #扩展模式(不能单独使用必须和基本模式一起用) + plus 增强模式 可以使得任何基本模式变成读写模式 b bytes 位模式 获取数据或者写入数据的类型为bytes类型 ‘‘‘ #增强模式 fp = open(wangwang.txt,w+) #写入操作 fp.write(四处张望) #将指针设置为开头位置 fp.seek(0) #读取操作 result = fp.read() print(result) fp.close() #bytes模式 涉及到一个bytes的数据类型 content = 喵星人为啥不能作为警猫呢? result = content.encode()#编码操作 print(result) fp = open(miaomiao.txt,wb) fp.write(result) fp.close() fp = open(miaomiao.txt,rb) result = fp.read() print(result.decode())#解码操作 fp.close() #read() 读取文件内容 fp = open(miaomiao.txt,r) #读取所有内容 #txt = fp.read() #读取指定个数的字符 txt = fp.read(5) print(txt) fp.close() #write() 写入文件内容 fp = open(miaomiao.txt,w) fp.write(kqkyhtk) fp.close() #readline() 一次读取一行数据 fp = open(question,r) result = fp.readline() result = fp.readline() #读取一行数据的前n个字符 result = fp.readline(5) print(result) fp.close() #readlines() 一次性将文件按行读取到列表当中取 fp = open(question,r) #读取所有行 result = fp.readlines() #根据指定的字符长度 读取n行 result = fp.readlines(50) print(result) fp.close() #writelines() 将容器中的数据一次性写入文件 ‘‘‘ txt = [一\n,二\n,三\n,四\n fp = open(num.txt,w) fp.writelines(txt) fp.close() ‘‘‘ #truncate() 文件截取操作 #fp = open(num.txt,a) #这里的长度单位不是字符而是字节 #fp.truncate(2) #fp.close() ‘‘‘ 字符:一个独立存在的文字就是一个字符,无论什么语言什么符号 字节:用于存储数据的基本单位 1TB = 1024GB 1GB = 1024MB 1MB = 1024KB 1KB = 1024B 1B = 8bytes 字符集: 基本的英文编码(1个字节) ascii码 -> 记录英文和数字及部分符号的编码 (128个) 扩展ascii码 -> 增加了ascii码的数量(256个) 制作特定语言的编码(2个字节[针对汉字]) gb2312编码 -> 存储了5000个常用汉字 gb10800编码-> 扩充了汉字数量 gbk编码 -> 包含了所有汉字 big5编码 -> 繁体中文编码 制作世界统一编码(3个字节[针对汉字]) utf-8 包含世界上绝大部分的文字的编码 utf-16 包含世界上绝大部分的文字的编码 ‘‘‘ #文件函数 ‘‘‘ #tell() 获取文件指针的位置(字节) fp = open(01.txt,r) #输出当前指针位置 pos1 = fp.tell() print(pos1) #读取内容 result = fp.read() print(result) #输出当前指针位置 pos2 = fp.tell() print(pos2) fp.close() ‘‘‘ #seek() 移动文件指针的位置 fp = open(01.txt,r) #获取开始文件指针位置 print(fp.tell) #移动指针 fp.seek(9) #获取开始文件指针位置 print(fp.tell()) #读取文件 result = fp.read() print(result) fp.close()
#shutil模块 高级文件处理模块
import shutil

#copy() 复制文件
#result = shutil.copy(/home/sy/下载/001,/home/sy/文档/002)
#print(result)

#copy2() 复制文件,保留原有数据信息
#result = shutil.copy2(/home/sy/下载/001,/home/sy/文档/003)
#print(result)

#copyfileobj() 将一个文件的内容拷贝到另一个文件当中
#result = shutil.copyfileobj(open(01.txt,r)),open(02.txt,a)
#print(result)
#copyfile() 将一个文件的内容拷贝到另一个文件当中 copyfileobj(open(,r),open(,w))
#result = shutil.copyfile(01.txt,02.txt)
#print(result)

#copytree() 复制整个目录
#result = shutil.copytree(/home/sy/PycharmProjects/python3/11.9,/home/sy/my11.9)
#print(result)

#copymode()  拷贝权限
#result = shutil.copymode(/home/sy/文档/canzhao,/home/sy/文档/mode)
#print(result)

#copystat()  拷贝元数据
#result = shutil.copystat(/home/sy/文档/002,/home/sy/文档/stat)
#print(result)

#rmtree()  删除整个目录
#result = shutil.rmtree(/home/sy/下载/py)

#move()  移动文件或者目录
#result = shutil.move(/home/sy/下载/001,/home/sy/文档/001)
#result = shutil.move()

#which()  检测命令文件所在的文件夹
#result = shutil.which(reboot)
#print(result)

#disk_usage()  查看磁盘使用量
result = shutil.disk_usage(/)
print(result)

#make_archive()  制作归档文件(将指定的文件夹归档成一个文件)
#result = shutil.make_archive(/home/sy/下载/guidang,zip,/home/sy/PycharmProjects)
#print(result)

#unpack_archive()  解包归档文件
#result = shutil.unpack_archive(/home/sy/下载/myguidang.zip,/home/sy/文档)
#print(result)

#get_archive_formats() 获取归档允许使用的类型
#result = shutil.get_archive_formats()
#print(result)

#get_unpack_formats()  获取系统解包的文件类型(包含类型对应的后缀)
#result = shutil.get_unpack_formats()
#print(result)
复制代码
压缩与解压
#zip模块
import zipfile
‘‘‘
#压缩操作
#1.创建压缩文件
zp = zipfile.ZipFile(./11.6.zip,w,zipfile.ZIP_STORED,True)
#print(zp)

#2.向压缩文件中添加内容
#zp.write(/home/sy/文档/001,001)
#zp.write(/home/sy/文档/002,00-2)
zp.write(./getdirsize.py,mydir/gdp.py)

#3.关闭压缩文件
zp.close()
‘‘‘

#解压缩文件
#1.打开压缩文件
zp = zipfile.ZipFile(./11.6.zip,r)
print(zp)

#2.解压操作
#指定文件
#zp.extract(00-2,/home/sy/下载)
#全部文件
#zp.extractall(./boys)

#3.关闭文件
zp.close()

#tar模块
import tarfile
‘‘‘
#1.打开压缩文件
tp = tarfile.open(./07.tar,w:bz2)
print(tp)

#2.添加内容 压缩文件
tp.add(01.py,arcname= 1.py)
tp.add(02.py,arcname= 2.py)
tp.add(01.txt,arcname= txt/1.txt)

#3.关闭压缩文件
tp.close()
‘‘‘
#解压操作
#1.打开压缩文件
tp = tarfile.open(07.tar,r)

#2.解压文件
#解压所有文件
#tp.extractall(./girls)

#解压指定文件
tp.extract(1.py,/home/sy)

#3.关闭压缩文件
tp.close()

 

python 文件操作(三)

标签:汉字   append   pre   添加内容   zha   com   import   tree   imp   

原文地址:https://www.cnblogs.com/cornerxin/p/8514540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!