日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

詳解Python IO編程

瀏覽:23日期:2022-07-16 13:36:29
文件讀寫讀文件

try: # windows下utf8 f = open(’./README.md’, ’r’, encoding=’utf8’, errors=’ignore’) print(f.read())finally: f and f.close()# 用with簡化with open(’./README.md’, ’r’, encoding=’utf8’) as f: print(f.read())# 迭代讀取大文件with open(’./README.md’, ’r’, encoding=’utf8’) as f: # readline()可以每次讀取一行內容 for line in f.readlines(): # 把末尾的’n’刪掉 print(line.strip()) # 讀取二進制文件f = open(’/Users/michael/test.jpg’, ’rb’)f.read() # b’xffxd8xffxe1x00x18Exifx00x00...’ # 十六進制表示的字節寫文件

寫文件和讀文件是一樣的,唯一區別是調用open()函數時,傳入標識符’w’或者’wb’表示寫文本文件或寫二進制文件

可以反復調用write()來寫入文件,但是務必要調用f.close()來關閉文件。當我們寫文件時,操作系統往往不會立刻把數據寫入磁盤,而是放到內存緩存起來,空閑的時候再慢慢寫入。只有調用close()方法時,操作系統才保證把沒有寫入的數據全部寫入磁盤。忘記調用close()的后果是數據可能只寫了一部分到磁盤,剩下的丟失了。所以,還是用with語句來得保險

with open(’./test2.md’, ’a’, encoding=’utf8’) as f: f.write(’Hello, python!’) # 文件內字符替換,把你好替換為hi,然后讀取內容到內存中with open(’test.txt’,’r’) as f: s = f.readlines()# 接著打開文件,用replace替換掉你內存中的內容,然后寫入文件with open(’test.txt’,’w’) as w: for i in s: w.write(i.replace(’你好’,’hi’))StringIO和BytesIOStringIO

在內存中讀寫str。

from io import StringIOf = StringIO()f.write(’hello’)f.write(’ ’)f.write(’world!’)print(f.getvalue()) # 方法用于獲得寫入后的str。f = StringIO(’Hello!nHi!nGoodbye!’)while True: s = f.readline() if(s == ’’): break print(s.strip())BytesIO

內存中讀寫bytes

from io import BytesIOf = BytesIO()f.write(’中文’.encode(’utf-8’)) # 寫入的不是str,而是經過UTF-8編碼的bytes。print(f.getvalue())f = BytesIO(b’xe4xb8xadxe6x96x87’)f.read() # b’xe4xb8xadxe6x96x87’操作文件和目錄

import osos.name # 如果是posix,說明系統是Linux、Unix或Mac OS X,如果是nt,就是Windows系統。os.uname() # 注意uname()函數在Windows上不提供環境變量

在操作系統中定義的環境變量,全部保存在os.environ這個變量中

import osos.name’nt’os.environ # 獲取環境變量os.environ.get(’PATH’)os.environ.get(’x’, ’default’)操作文件和目錄

操作文件和目錄的函數一部分放在os模塊中,一部分放在os.path模塊中

# 查看當前目錄的絕對路徑:os.path.abspath(’.’)# 當前的目錄名os.path.dirname(os.path.abspath(__file__))# 在某個目錄下創建一個新目錄,首先把新目錄的完整路徑表示出來:os.path.join(’/Users/michael’, ’testdir’) # ’/Users/michael/testdir’# 然后創建一個目錄:os.mkdir(’/Users/michael/testdir’)# 刪掉一個目錄:os.rmdir(’/Users/michael/testdir’)# 路徑拆分os.path.split(’/Users/michael/testdir/file.txt’)# 獲得文件擴展名os.path.splitext(’/path/to/file.txt’)# 對文件重命名os.rename(’test.txt’, ’test.py’)# 刪掉文件os.remove(’test.py’)#OS模塊#os模塊就是對操作系統進行操作,使用該模塊必須先導入模塊:import os#getcwd() 獲取當前工作目錄(當前工作目錄默認都是當前文件所在的文件夾)result = os.getcwd()print(result)#chdir()改變當前工作目錄os.chdir(’/home/sy’)result = os.getcwd()print(result)open(’02.txt’,’w’)#操作時如果書寫完整的路徑則不需要考慮默認工作目錄的問題,按照實際書寫路徑操作open(’/home/sy/下載/02.txt’,’w’)#listdir() 獲取指定文件夾中所有內容的名稱列表result = os.listdir(’/home/sy’)print(result)#mkdir() 創建文件夾#os.mkdir(’girls’)#os.mkdir(’boys’,0o777)#makedirs() 遞歸創建文件夾#os.makedirs(’/home/sy/a/b/c/d’)#rmdir() 刪除空目錄#os.rmdir(’girls’)#removedirs 遞歸刪除文件夾 必須都是空目錄#os.removedirs(’/home/sy/a/b/c/d’)#rename() 文件或文件夾重命名#os.rename(’/home/sy/a’,’/home/sy/alibaba’#os.rename(’02.txt’,’002.txt’)#stat() 獲取文件或者文件夾的信息#result = os.stat(’/home/sy/PycharmProject/Python3/10.27/01.py)#print(result)#system() 執行系統命令(危險函數)#result = os.system(’ls -al’) #獲取隱藏文件#print(result)#環境變量’’’環境變量就是一些命令的集合操作系統的環境變量就是操作系統在執行系統命令時搜索命令的目錄的集合’’’#getenv() 獲取系統的環境變量result = os.getenv(’PATH’)print(result.split(’:’))#putenv() 將一個目錄添加到環境變量中(臨時增加僅對當前腳本有效)#os.putenv(’PATH’,’/home/sy/下載’)#os.system(’syls’)#exit() 退出終端的命令#os模塊中的常用值#curdir 表示當前文件夾 .表示當前文件夾 一般情況下可以省略print(os.curdir)#pardir 表示上一層文件夾 ..表示上一層文件夾 不可省略!print(os.pardir)#os.mkdir(’../../../man’)#相對路徑 從當前目錄開始查找#os.mkdir(’/home/sy/man1’)#絕對路徑 從根目錄開始查找#name 獲取代表操作系統的名稱字符串print(os.name) #posix -> linux或者unix系統 nt -> window系統#sep 獲取系統路徑間隔符號 window -> linux ->/print(os.sep)#extsep 獲取文件名稱和后綴之間的間隔符號 window & linux -> .print(os.extsep)#linesep 獲取操作系統的換行符號 window -> rn linux/unix -> nprint(repr(os.linesep))#導入os模塊import os#以下內容都是os.path子模塊中的內容#abspath() 將相對路徑轉化為絕對路徑path = ’./boys’#相對result = os.path.abspath(path)print(result)#dirname() 獲取完整路徑當中的目錄部分 & basename()獲取完整路徑當中的主體部分path = ’/home/sy/boys’result = os.path.dirname(path)print(result)result = os.path.basename(path)print(result)#split() 將一個完整的路徑切割成目錄部分和主體部分path = ’/home/sy/boys’result = os.path.split(path)print(result)#join() 將2個路徑合并成一個var1 = ’/home/sy’var2 = ’000.py’result = os.path.join(var1,var2)print(result)#splitext() 將一個路徑切割成文件后綴和其他兩個部分,主要用于獲取文件的后綴path = ’/home/sy/000.py’result = os.path.splitext(path)print(result)#getsize() 獲取文件的大小#path = ’/home/sy/000.py’#result = os.path.getsize(path)#print(result)#isfile() 檢測是否是文件path = ’/home/sy/000.py’result = os.path.isfile(path)print(result)#isdir() 檢測是否是文件夾result = os.path.isdir(path)print(result)#islink() 檢測是否是鏈接path = ’/initrd.img.old’result = os.path.islink(path)print(result)#getctime() 獲取文件的創建時間 get create time#getmtime() 獲取文件的修改時間 get modify time#getatime() 獲取文件的訪問時間 get active timeimport timefilepath = ’/home/sy/下載/chls’result = os.path.getctime(filepath)print(time.ctime(result))result = os.path.getmtime(filepath)print(time.ctime(result))result = os.path.getatime(filepath)print(time.ctime(result))#exists() 檢測某個路徑是否真實存在filepath = ’/home/sy/下載/chls’result = os.path.exists(filepath)print(result)#isabs() 檢測一個路徑是否是絕對路徑path = ’/boys’result = os.path.isabs(path)print(result)#samefile() 檢測2個路徑是否是同一個文件path1 = ’/home/sy/下載/001’path2 = ’../../../下載/001’result = os.path.samefile(path1,path2)print(result)#os.environ 用于獲取和設置系統環境變量的內置值import os#獲取系統環境變量 getenv() 效果print(os.environ[’PATH’])#設置系統環境變量 putenv()os.environ[’PATH’] += ’:/home/sy/下載’os.system(’chls’)# 列出當前目錄文件名[x for x in os.listdir(’.’) if os.path.isdir(x)]# 列出所有的.py文件[x for x in os.listdir(’.’) if os.path.isfile(x) and os.path.splitext(x)[1]==’.py’]# walk返回:tupple(dirpath:路徑, dirnames:該路徑下面的目錄list, filenames: 該路徑下面的文件list)for fpathe,dirs,fs in os.walk(path): for f in fs: print(os.path.join(fpathe,f))

注意: 不用通過直接拼接字符串的方式,來拆分路徑。這樣可以正確處理不同操作系統的路徑分隔符;

以上就是詳解Python IO編程的詳細內容,更多關于Python IO編程的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩一区二区三区四区五区| 鲁大师成人一区二区三区 | 福利一区和二区| 国产精品黄色| 欧美国产另类| 精品99在线| 成人小电影网站| 国产 日韩 欧美一区| 久久久久免费av| 欧美69视频| 夜久久久久久| 在线亚洲免费| 在线看片不卡| 一区三区视频| 蜜臀久久99精品久久久久久9 | 久久久精品网| 1024精品一区二区三区| 在线亚洲国产精品网站| 日本亚洲不卡| 国产精品亚洲综合在线观看| 久久精品国产网站| 成人羞羞在线观看网站| 蜜臀91精品国产高清在线观看| 91成人精品| 日av在线不卡| 欧美日韩午夜电影网| 久久免费视频66| 久久久影院免费| 综合激情在线| 久久三级中文| 亚洲成人免费| 日韩精品免费视频人成| 国产精品chinese| 九九精品调教| 1024精品久久久久久久久| 亚洲资源在线| 美女在线视频一区| 999精品一区| 中文字幕日本一区二区| 国产精品网在线观看| 国产精品精品国产一区二区| 在线视频观看日韩| 日韩高清三区| 91欧美日韩| 美女精品网站| 国产精品99久久久久久董美香| 特黄毛片在线观看| 亚洲精品护士| 水蜜桃久久夜色精品一区| 激情欧美日韩一区| 欧美中文一区| 久久精品国内一区二区三区水蜜桃| 玖玖精品视频| 精品视频91| 亚洲免费在线| 黄色网一区二区| 欧美美女一区| 国产精品三p一区二区| 蜜桃tv一区二区三区| 欧美欧美黄在线二区| 久久精品国产亚洲夜色av网站| 日本三级亚洲精品| 婷婷成人在线| 国产欧美日韩视频在线| 久久精品国内一区二区三区水蜜桃| 婷婷精品久久久久久久久久不卡| 成人三级高清视频在线看| 少妇精品久久久一区二区三区| 韩国久久久久久| 日韩在线电影| 蜜桃tv一区二区三区| 欧美激情五月| 中文字幕一区二区三区在线视频| 精品欧美一区二区三区在线观看| 久久激五月天综合精品| 欧美一区=区| 精品免费av在线| 国产精品videossex| 中文字幕日韩高清在线| 九九综合九九| а√天堂8资源中文在线| 日韩二区三区在线观看| 红桃视频国产一区| av高清不卡| 美女精品久久| 日韩中出av| 欧美日韩国产综合网| 亚洲涩涩在线| 国产一区二区色噜噜| 欧美在线首页| 亚洲v天堂v手机在线| 国产亚洲在线| 亚洲二区视频| 久久久久网站| 亚洲黄色中文字幕| 久久一区国产| 国产精品网址| 欧美日韩夜夜| 日本在线观看不卡视频| 免费日韩av片| 久久久久久久久丰满| 国产高潮在线| 精品一区视频| 免费亚洲一区| 国产精品超碰| 国产精品手机在线播放| 久久精品99久久久| 97久久超碰| 日韩国产欧美视频| 亚洲精品一区二区在线播放∴| 在线综合亚洲| 亚洲精华国产欧美| 狠狠爱成人网| 99成人在线| 国产视频一区在线观看一区免费| 日韩精品免费一区二区三区| 韩国精品主播一区二区在线观看| 欧美韩日一区| 水蜜桃精品av一区二区| 国产精品成人一区二区不卡| 精品国产a一区二区三区v免费| 国产激情精品一区二区三区| 国产精品调教视频| 久久99蜜桃| 精品国产亚洲一区二区在线观看| 精品视频久久| 亚洲欧洲高清| 91精品一区国产高清在线gif | 日韩在线卡一卡二| 亚洲一区二区免费看| 西西人体一区二区| 日本大胆欧美人术艺术动态| 蜜臀91精品一区二区三区| 中文无码久久精品| 亚洲精品极品| 日韩avvvv在线播放| 国产精品一区二区99| 麻豆精品视频在线观看| 精品亚洲自拍| 久久久国产亚洲精品| 久久精品影视| 久久电影一区| 亚洲精品欧洲| 国产日韩欧美| 荡女精品导航| 美女网站一区| 亚洲精品第一| 久久不见久久见国语| av免费不卡国产观看| 在线日韩中文| 免费人成网站在线观看欧美高清| 日产欧产美韩系列久久99| 国产精品久久久久久模特| 国产aⅴ精品一区二区四区| 日韩亚洲一区在线| 蜜桃tv一区二区三区| 三级久久三级久久久| 你懂的国产精品| 久久婷婷久久| 免费一区二区视频| 麻豆精品国产91久久久久久| 亚洲黄色中文字幕| 美女日韩在线中文字幕| 国产欧美一区二区色老头| 国产一区二区三区亚洲综合| 极品裸体白嫩激情啪啪国产精品| 欧美专区18| 国产精品jk白丝蜜臀av小说| 日韩成人亚洲| 午夜天堂精品久久久久| 你懂的亚洲视频| 国产高清一区| 国产精品中文字幕制服诱惑| 久久激情婷婷| 综合一区av| 另类专区亚洲| 亚洲精品无播放器在线播放| 日韩成人精品一区| 亚洲一区观看| 精品一区二区三区在线观看视频| 伊人久久大香线蕉av超碰演员| 国产乱码精品一区二区亚洲| 99视频精品全部免费在线视频| 亚洲精选91| 欧美片第1页| 亚州国产精品| 日韩av福利| 欧美偷窥清纯综合图区| 激情欧美一区二区三区| 国产精品综合色区在线观看| 午夜久久影院| 麻豆91在线播放| 视频一区在线播放| 精品国产免费人成网站| 日韩精品91亚洲二区在线观看| 亚洲a在线视频| 国产精品高潮呻吟久久久久| 国产视频一区三区| 久久男人天堂| 国产欧美一区二区三区米奇|