open()
open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
·file: 必需,文件路径(相对或者绝对路径)。
·mode: 可选,文件打开模式
·buffering: 设置缓冲
·encoding: 一般使用utf8
·errors: 报错级别
·newline: 区分换行符
·closefd: 传入的file参数类型
文件打开模式(mode)
文件对象方法
f=open('.\\python.txt',mode='r')
print(f)
for i in f:
print(i)
c=open('C:\\Users\\帅哥的电脑\\Desktop\python练习\\韩绘锦.txt',mode='w')
c.write("hanhuijin")
c.close()
c=open('.\\韩绘锦.txt',mode='r+')
print(c.read())
c.seek(3,0)
print(c.read())
c.write('love lsgo')
c.seek(0,0)
print(c.read())
c.writelines (["韩绘锦",'love','lsgo'])
c.seek(0,0)
print(c.read())
print(c.tell ())
c.seek(0,0)
c.truncate ()
print(c.read())
#
<_io.TextIOWrapper name='.\\python.txt' mode='r' encoding='cp936'>
line1
line2
line3
hanhuijin
huijin
hanhuijinlove lsgo
hanhuijinlove lsgo韩绘锦lovelsgo
34
>>>
os模块中常用函数的使用方法
os.path模块中常用函数使用方法
import os
path=os.getcwd ()
print(os.getcwd ())
print(os.listdir('.'))
os.chdir('C:\\Users\\帅哥的电脑\\Desktop\\python练习\\text ')
print(os.getcwd ())
print(os.listdir('.'))
os.makedirs(r'.\test\1\2\3')
#
C:\Users\帅哥的电脑\Desktop\python练习
['continue 练习.py', 'os.path模块中常用的函数.png', 'os模块中常用函数.png', 'pyhon练习txt', 'python.txt', 'python文件与文件系统mode打开模式.png', 'python文件与文件系统文件对象方法.png', 'test.txt', 'text', 'text.txt', '基础练习.py', '字符串格式化符号.png', '市场营销.docx', '格式化操作符辅助指令.png', '猜数.py', '联系.py', '运算符.png', '韩绘锦.txt']
C:\Users\帅哥的电脑\Desktop\python练习\text
['test']
import os
path=os.getcwd ()
print(os.getcwd ())
print(os.listdir('.'))
os.chdir('C:\\Users\\帅哥的电脑\\Desktop\\python练习\\text ')
print(os.getcwd ())
print(os.listdir('.'))
print(os.walk('C:'))
#
C:\Users\帅哥的电脑\Desktop\python练习
['continue 练习.py', 'os.path模块中常用的函数.png', 'os模块中常用函数.png', 'pyhon练习txt', 'python.txt', 'python文件与文件系统mode打开模式.png', 'python文件与文件系统文件对象方法.png', 'text', '基础练习.py', '字符串格式化符号.png', '格式化操作符辅助指令.png', '猜数.py', '联系.py', '运算符.png', '韩绘锦.txt']
C:\Users\帅哥的电脑\Desktop\python练习\text
['test', '删除.txt']
<generator object walk at 0x000001E0AA483F48>
序列化和反序列化的定义
·序列化:就是把不可传输的对象转换为可存储或可传输的过程
·反序列化:就是把在磁盘,等介质中的数据转换为对象
pickle模块的使用
import pickle
dic1={'one':1,'two':2,'three':3}
a=pickle.dumps (dic1)
print(a,type(a))
b=pickle.loads(a)
print(b,type(b))
#
b'\x80\x03}q\x00(X\x03\x00\x00\x00oneq\x01K\x01X\x03\x00\x00\x00twoq\x02K\x02X\x05\x00\x00\x00threeq\x03K\x03u.' <class 'bytes'>
{'one': 1, 'two': 2, 'three': 3} <class 'dict'>
import pickle
dic1={'one':1,'two':2,'three':3}
a=open('.\\text.txt','wb')
pickle.dump(dic1,a)
a.close()
b=open('.\\text.txt','rb')
result=pickle.load(b)
print(b.read())
b.close()
print(id(dic1),result,id(result))
#
b''
1806383632776 {'one': 1, 'two': 2, 'three': 3} 1806383812024
结果说明反序列化后的对象不是原来的对象了