持久儲存: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") #刪除文件夾