Python碎碎念(3):数据读写

2019-02-19  本文已影响0人  xxlee

转载请在文章起始处注明出处,谢谢。

1、os模块

os模块是用来处理文件和目录的。

a.常用命令
import(os)
print(os.name) #输出字符串正在使用的平台
print(os.getcwd()) #当前工作目录,即脚本工作目录路径
print(os.listdir()) #返回目录下文件和目录名
os.chdir('C:\\Users\\xxlee\\Desktop') #切换到目标路径
os.remove('text.txt') #删除文件
b.相对路径和绝对路径

绝对路径是指文件在硬盘上真正存在的路径。
相对路径,就是相对于自己的目标文件位置。

2、数据读取

a. 路径的三种书写格式
path1 = 'C:/Users/xxlee/Desktop/text.txt' #单个反斜杠
path2 =  'C:\\Users\\xxlee\\Desktop\\text.txt' #两个斜杠
path3 = r 'C:\Users\xxlee\Desktop\text.txt' #用r来防止字符转义
b. open语句
f = open(path2,'r') # open('路径', '模式', enconding = '编码' )。模式:r:读取文件,默认;w:写入;rw:读取+写入;a:追加
c. read及seek语句
f.read()  #使用.read()来读取,读取后光标在末尾
f.read(2) #读两个字符
f.seek(0) #将光标移到开始位置
d. close语句
f.close() #关闭文件链接,每次读文件后都要关闭
e. readline语句
f.readline() #读取一行
f.readline(3) #读取该行前3个字符
f. readlines语句
一般用于遍历。
for i in f.readlines():
       print(line)

3、文件写入

a. wirte语句
f = open(path2,'w',encoding = 'utf8') #如果txt文档为utf-8,编码为utf8,如果为ANSI,则为gbk
f.write('hello world!')
f.close() #缺少则不会写入到文件中,因为代码是在云运存中运行的
b. wirtelines语句

wirtelines()方法用于向文件中写入一序列的字符串(整型不行),可以是迭代对象产生的,如字符串列表。

f = open(path2,'w',encoding = 'utf8')
list = ['1','2','3','4']
f.writelines(list)
f.close()

4、pickle模块

pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。

python的pickle模块实现了基本的数据序列和反序列化。

通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储。

通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。

pickle.dump() / pickle.load()

a. 存储:pickle.dump(obj, file, [,protocol])
import pickle
data = {'a':[1,2,3,4], 'b':('string','abc'), 'c':'hello'}
pic = open( 'C:\\Users\\xxlee\\Desktop\\text.pkl' ,'wb') #以二进制来存储:rb, wb, wrb, ab
pickle.dump(data,pic) #将数据存到打开的文件中
pic.close()
b. 读取:pickle.load(file)
f = open( 'C:\\Users\\xxlee\\Desktop\\text.pkl' ,'rb') 
print(pickle.load(f))
f.close()
上一篇下一篇

猜你喜欢

热点阅读