Python语法第7讲:文件处理

Python中的文件处理,类似于Java中的IO操作,但是更加的方便

1、读取文件

f = open("c:/hello.txt") #打开文件
txt = f.read() #读取文件内容
print(txt)
2、文件指针

#seek(offset, from) #在文件中移动文件指针,从from移动offset个字节;from=0表示文件的起始位置,from=1表示文件的当前位置,from=2表示文件的末尾
f.seek(0, 0) #将文件指针固定到文件的起始位置
3、输出文件内容的每一行

f = open("c:/hello.txt") #打开文件
f.seek(0, 0) #将文件指针固定到文件的起始位置
for line in f: #按行输出文件内容
    print(line)
f.close() #关闭文件,文件使用后必须关闭,否则会造成资源浪费
4、写入文件内容

f = open("c:/hello.txt", "w") #打开文件,以写入的方式打开
size = f.write("I'm a Python coder") #会覆盖原文件内容,将内容写入文件的函数,该函数会返回写入的字节数

print(size)
f.close() #关闭文件
5、OS对象中常用的函数

import os #导入os

os.chdir("C:/Users/qin/Documents/") #改变工作目录
dirs = os.listdir("C:/Users/qin/Documents/"); #获取指定目录下的所有文件夹,返回数组
print(dirs)
os.mkdir("C:/Users/qin/Documents/A") #创建单层目录
os.makedirs("C:/Users/qin/Documents/M/A") #创建多层目录
os.remove("C:/Users/qin/Documents/A/introduce.txt") #删除文件
os.rmdir("C:/Users/qin/Documents/M/A") #删除单层空目录
os.removedirs("C:/Users/qin/Documents/M/A") #删除多层空目录
os.system("cmd") #运行系统DOS明令
os.curdir #表示当前目录(.)
os.pardir #表示上一级目录(..)
os.sep #系统路径的分隔符(/)
os.linesep #系统的行中止符(win是\r\n,Linux是\n)
os.name #当前的操作系统
5.1、os对象获取文件名称(包含后缀名)

#获取文件名称(包含后缀名)
result = os.path.basename("C:/Users/qin/Documents/introduce.txt")
print(result)

5.2、获取文件所在的路径(包含后缀名)

#获取文件所在的路径(包含后缀名)
result = os.path.dirname("C:/Users/qin/Documents/introduce.txt")
print(result)
5.3、路径组成

#路径组成
result = os.path.join("C:\\", "hello", "win")
print(result)
5.4、分离文件名和路径,返回元组(路径, 文件名)
#分离文件名路径,返回元组,即(路径, 文件名)
result = os.path.split("C:/Users/qin/Documents/introduce.txt")
print(result)
5.5、分离文件名和扩展名,返回元组(文件名, 扩展名)
#分离文件名和扩展名,返回元组,即(文件名, 扩展名)
result = os.path.splitext("introduce.txt")
print(result)
5.6、获得文件的尺寸,以字节为单位

#获得文件尺寸,以字节为单位
result = os.path.getsize("C:/Users/qin/Documents/introduce.txt");
print(result)
5.7、获得文件的操作时间

#获取文件操作时间
fileDir = "C:/Users/qin/Documents/introduce.txt"
cTime = os.path.getctime(fileDir) #文件的创建时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
aTime = os.path.getatime(fileDir) #文件的最近访问时间
mTime = os.path.getmtime(fileDir) #文件的最近修改时间

print("创建时间是:%s" %cTime)
print("最近访问时间是:%s" %aTime)
print("最近修改时间是:%s" %mTime)
5.8、判断指定目录下的文件或目录是否存在

#判断指定目录下的文件或者目录是否存在
result = os.path.exists("C:/Users/qin/Documents/introduce.txt");
print(result)
6、文件与二进制流相互转换)


6.1、将文件转换为二进制流,并保存到磁盘

import pickle

arr = [1, 3, 4, 5, 6]
pickleFile = open("C:/Users/qin/Documents/my_list.pkl", "wb")
pickle.dump(arr, pickleFile) #转换为二进制,并保存到文件
pickleFile.close()
6.2、将二进制流转换为文件
import pickle
pickleFile = open("C:/Users/qin/Documents/my_list.pkl", "rb")
arr = pickle.load(pickleFile) #从文件中读取二进制,并转换 为数组对象
print(arr)
pickleFile.close()





















  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值