持久储存:python
保存内存中数据都是易丢失的,只有保存在硬盘中才能持久的存储,保存在硬盘中的基本方法就是把数据写入文件中工具
file = open("text.txt","w+") #打开文件 file.write("hello python !!!") #写入文件 file.flush() #保存文件 print(file.tell()) #查看文件指针 print(file.seek(0)) #移动文件指针 print(file.read()) #读取文件 print(file.readline()) #每次只能读取一行 # print(file.readlines() ) #把每一行的内容读取出来当成一个元素,放到一个列表里面 file.close() #关闭文件 16 0 hello python !!!
with open("text.txt","w+") as f: #不须要关闭 会对文件自动保存和关闭 f.write("hello python !!!") f.flush() f.tell() f.seek(0) print(f.read()) hello python !!!
rb rb+ wb wb+ ab ab+ spa
加个b的做用:以二进制的格式打开文件,进行上述操做 。操作系统
经过这两个方法能够方便的实现上下文管理 指针
with会把 __enter__ 的返回值赋值给 as 后的变量code
class MyClass: #上下文管理器 def __enter__(self): #进入 进入时须要执行的代码,至关于准备工做 print("开始运行的时候调用了我") return "开始了" def __exit__(self, exc_type, exc_val, exc_tb): #退出 退出时须要执行的代码,至关于收尾工做 print("结束运行的时候调用了我") with MyClass() as a: #使用with打开文件,则文件不须要本身关闭,会自动的关闭 print(a) for i in range (1,6): print(i) 开始运行的时候调用了我 开始了 1 2 3 4 5 结束运行的时候调用了我
StringIO在内存中如同打开文件同样操做字符串,所以也有文件的不少方法 blog
当建立的StringIO调用 close() 方法时,在内存中的数据会被丢失接口
import io sio = io.StringIO #建立IO操做 sio.write('hello python') #写入 # sio.seek(0) # print(sio.read()) print(sio.getvalue()) #读取 sio.close()
BytesIO 和 StringIO 相似,可是BytesIO操做的是 Bytes数据ip
import io sio = io.BytesIO #建立IO操做 sio.write(b"abcd") #写入 # sio.seek(0) # print(sio.read()) print(sio.getvalue()) #读取 sio.close()
os 模块提供python和操做系统交互的接口内存
os 提供了Python和操做系统交互方式,只要是和操做系统相关,就能够尝试在os模块中找方法
import os os.system("ls") #直接调用系统命令 os.system("pwd") #通用路径操做 import os os.path <module 'posixpath' from '/usr/lib/python3.5/posixpath.py'> os.path.join("/home/pyvip","py_case1") '/home/pyvip/py_case1' #文件目录操做 os.mkdir("/home/pyvip/projects/home/pyvip/projects/基础班/ly") os.rename("ly","ly1")
shutil 模块提供了许多关于文件和文件集合的高级操做
import shutil shutil.copytree("ly1","lll") #复制文件件 shutil.move("with.py","lll") #移动文件 shutil.rmtree("lll") #删除文件夹