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

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

Python 如何對文件目錄操作

瀏覽:102日期:2022-07-18 08:08:14

概述

I/O操作不僅包括屏幕輸入輸出,還包括文件的讀取與寫入,Python提供了很多必要的方法和功能,進行文件及文件夾的相關操作。本文主要通過兩個簡單的小例子,簡述Python在文件夾及文件的應用,僅供學習分享使用,如有不足之處,還請指正。

涉及知識點

os模塊:os 模塊提供了非常豐富的方法用來處理文件和目錄。open方法:open方法用于打開一個文件,用于讀取和寫入。

實例1:獲取指定目錄下所有的文件大小,并找出最大文件及最小文件

分解步驟:

遍歷文件夾下所有的子文件及子文件夾(需要遞歸),并計算每一個文件的大小計算所有文件的大小總和找出最大文件及最小文件

核心代碼

定義一個方法get_file_size,獲取單個文件的大小,單位有KB和MB兩種。關鍵點如下所示:

os.path.getsize 用于獲取指定文件的大小,單位是Byte。 round為四舍五入函數,保留指定位數的小數。

def get_file_size(file_path, KB=False, MB=False): '''獲取文件大小''' size = os.path.getsize(file_path) if KB: size = round(size / 1024, 2) elif MB: size = round(size / 1024 * 1024, 2) else: size = size return size

定義一個方法list_files,遍歷指定文件目錄,并存入字典當中。關鍵點如下所示:

os.path.isfile 用于判斷給定的路徑是文件還是文件夾。 os.listdir 用于獲取指定目錄下所有的文件及文件夾,返回一個列表,但是只是當前文件夾的名稱,并不是全路徑。 os.path.join 用于拼接兩個路徑

def list_files(root_dir): '''遍歷文件''' if os.path.isfile(root_dir): # 如果是文件 size = get_file_size(root_dir, KB=True) file_dict[root_dir] = size else: # 如果是文件夾,則遍歷 for f in os.listdir(root_dir): # 拼接路徑 file_path = os.path.join(root_dir, f) if os.path.isfile(file_path):# 如果是一個文件size = get_file_size(file_path, KB=True)file_dict[file_path] = size else:list_files(file_path)

計算總大小和最大文件及最小文件,如下所示:

通過比較字典value的大小,返回對應的key的名稱。關鍵點如下所示:

max_file = max(file_dict, key=lambda x: file_dict[x]) min_file = min(file_dict, key=lambda x: file_dict[x])

if __name__ == ’__main__’: list_files(root_dir) # print( len(file_dict)) # 計算文件目錄大小 total_size = 0 # 遍歷字典的key for file in file_dict: total_size += file_dict[file] print(’total size is : %.2f’ % total_size) # 找最大最小文件 max_file = max(file_dict, key=lambda x: file_dict[x]) min_file = min(file_dict, key=lambda x: file_dict[x]) print(’max file is : ’, max_file, ’n file size is :’, file_dict[max_file]) print(’min file is : ’, min_file, ’n file size is :’, file_dict[min_file])

實例2:將兩個文本文件中的內容進行合并,并保存到文件中

兩個文件內容,如下圖所示:

Python 如何對文件目錄操作

分解步驟:

讀取兩個文件中的內容并進行解析出key和value,存入字典當中(兩個字典,分別存儲兩個文件的內容)。 遍歷第1個字典,并查找第2個字典當中相同key的值,如不存在,則只顯示第1個內容,如存在,則進行合并。 遍歷第2個字典,并查找不在第1個字典當中的key的值,進行累加。 將拼接后的列表存入文件當中。

核心代碼

定義一個函數read_book,用于讀取兩個文件的內容。關鍵點如下所示:

open函數用于打開一個文件,文件編碼為UTF-8。 readlines用于讀取所有的行,并返回一個列表。 split用于分割字符串為數組。

def read_book(): '''讀取內容''' # 讀取一個文件 file1 = open(’book1.txt’, ’r’, encoding=’UTF-8’) lines1 = file1.readlines() file1.close() for line in lines1: line = line.strip() # 去空白 content = line.split(’,’) book1[content[0]] = content[1] # 另一種方式,讀取另一個文件,不需要close,會自動關閉 with open(’book2.txt’, ’r’, encoding=’UTF-8’) as file2: lines2 = file2.readlines() for line in lines2: line = line.strip() # 去空白 content = line.split(’,’) book2[content[0]] = content[1]

定義一個函數,用于合并內容,并保存。關鍵點如下所示:

append 用于為數組添加新元素。 dict.keys函數 用于返回所有的key。 join函數用于將數組轉換成字符串,并以對應字符分割。 writelines 用于寫入所有的行到文件。 with語法,當執行結束時,自動close,并釋放資源。

def merge_book(): '''合并內容''' lines = [] # 定義一個空列表 header = ’姓名t 電話t 文本n’ lines.append(header) # 遍歷第一個字典 for key in book1: line = ’’ if key in book2.keys(): line = line + ’t’.join([key, book1[key], book2[key]]) line += ’n’ else: line = line + ’t’.join([key, book1[key], ’ *****’]) line += ’n’ lines.append(line) # 遍歷第2個,將不包含在第1個里面的寫入 for key in book2: line = ’’ if key not in book1.keys(): line = line + ’t’.join([key, ’ *****’, book2[key]]) line += ’n’ lines.append(line) # 寫入book3 with open(’book3.txt’, ’w’, encoding=’UTF-8’) as f: f.writelines(lines)

整體調用,如下所示:

if __name__ == ’__main__’: # 讀取內容 read_book() # 合并內容 merge_book() # print(book1) # print(book2)

最后拼接后生成的文件,如下所示:

Python 如何對文件目錄操作

通過以上兩個例子,可以大致了解文件及目錄操作的一些方法及步驟。

以上就是Python 如何對文件目錄操作的詳細內容,更多關于Python 文件目錄操作的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久视频精品| 日韩三级视频| 麻豆视频久久| 国产+成+人+亚洲欧洲在线| 国产成人免费| 日韩中文影院| 在线国产一区| 久久伦理在线| 蜜臀久久99精品久久久久久9| 伊人精品久久| 欧美日韩一区二区三区在线电影| 国产精品一区二区免费福利视频| 国产精品xxx在线观看| 国产一区二区三区黄网站| 国产成年精品| 久久久亚洲一区| 制服诱惑一区二区| 日韩黄色在线观看| 国产精品成人国产| 成人日韩精品| 国产高清一区| 婷婷成人av| 日本一区二区三区中文字幕| 国产欧美在线| 国产日韩电影| 日本欧洲一区二区| 免费精品一区| 激情久久久久久| 亚洲精品三级| 成人精品动漫一区二区三区| 四虎4545www国产精品| 中文日韩欧美| 免费日韩一区二区三区| 伊人精品在线| 国产精品久久777777毛茸茸| 日韩理论视频| 日韩1区2区3区| 牛牛精品成人免费视频| 亚洲精品电影| 日本一区福利在线| 国产日韩免费| 色老板在线视频一区二区| 美女被久久久| 亚洲精品高潮| 麻豆精品av| 成人免费电影网址| 性欧美精品高清| 欧美国产美女| 亚洲精品动态| 天堂中文在线播放| 亚洲区欧美区| 久久久久一区| 97精品一区| 国产亚洲精品v| 亚洲精品福利| 四虎884aa成人精品最新| 亚洲精品在线观看91| 国产精品多人| 免费观看久久久4p| 日韩国产专区| 国产日韩精品视频一区二区三区| 亚洲一级少妇| 中文字幕一区二区三区日韩精品| 精品国产亚洲一区二区三区大结局| 亚洲一区二区动漫| 久久精品亚洲一区二区| 狠狠色狠狠色综合日日tαg| 亚洲我射av| 久久精品91| 成人午夜在线| 91精品一区| 巨乳诱惑日韩免费av| 精品国产免费人成网站| 中文日韩欧美| 久久中文字幕一区二区三区| 亚洲综合国产| 久久久国产亚洲精品| 老司机免费视频一区二区三区| 中文字幕亚洲影视| 欧美特黄一区| 美女网站一区| 日韩精品影视| 手机精品视频在线观看| 色爱综合网欧美| 久久不射网站| 国产91精品对白在线播放| 福利一区在线| 精品网站aaa| 久久中文精品| 美女高潮久久久| 卡一卡二国产精品| 免费在线观看一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 红桃视频国产一区| 欧美一区久久久| 国产精品久久观看| 麻豆视频久久| 在线亚洲成人| 国产婷婷精品| 天使萌一区二区三区免费观看| 宅男噜噜噜66国产日韩在线观看| 中文一区二区| 免费视频最近日韩| 亚洲精品裸体| 国产一区二区高清| 亚洲黄色在线| 国产精品三上| 亚洲理论在线| 国产欧美久久一区二区三区| 国产极品嫩模在线观看91精品| 国产极品嫩模在线观看91精品| 精品视频在线观看网站| 久久国产日韩欧美精品| 麻豆免费精品视频| 97欧美在线视频| 亚洲一级黄色| 男女性色大片免费观看一区二区 | 蜜臀av一区二区在线免费观看| 蜜桃久久精品一区二区| 欧美一区网站| 麻豆精品一区二区综合av| 92国产精品| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲2区在线| 精品国产aⅴ| 久久精品电影| 久久国产影院| 亚洲免费毛片| 国产成人精品福利| 婷婷综合网站| 日韩欧乱色一区二区三区在线| 久久影视三级福利片| 国产综合亚洲精品一区二| 日韩 欧美一区二区三区| 国产成人精品999在线观看| 国产在线成人| 日韩精品一区二区三区av| 精品午夜视频| 在线亚洲成人| 国产精品蜜月aⅴ在线| 亚洲91视频| 亚洲一区二区三区免费在线观看| 国产亚洲一区| 久久久夜夜夜| 91精品国产一区二区在线观看 | 久久精品国产久精国产| 国产高清一区二区| 久久激情综合网| 99久久99视频只有精品| 日本午夜精品| 国产一区亚洲| 久久精品国产精品亚洲毛片| 先锋影音久久久| 日韩电影二区| 日本aⅴ精品一区二区三区| 牛牛精品成人免费视频| 亚洲综合日韩| 97精品国产| 日韩久久一区| 亚洲国产综合在线看不卡| 国产欧美日韩| 夜久久久久久| 国产在线观看www| 欧美日韩网址| 香蕉成人久久| 亚洲成人精品| 精品美女视频 | av资源亚洲| 国产色99精品9i| 亚洲一区二区三区四区五区午夜 | 午夜性色一区二区三区免费视频| 成人看片网站| 欧美国产视频| 视频一区二区国产| 桃色一区二区| 麻豆精品视频在线观看视频| 2023国产精品久久久精品双| 国产aⅴ精品一区二区三区久久| 日韩精品中文字幕吗一区二区| 黄色不卡一区| 免费一二一二在线视频| 精品国产黄a∨片高清在线| 奇米色欧美一区二区三区| 亚洲黄色在线| 美女少妇全过程你懂的久久| 成人日韩在线观看| 麻豆91小视频| 国产美女精品视频免费播放软件| 欧美综合二区| 99在线精品视频在线观看| 久久麻豆精品| 精品一区二区三区免费看| 欧美日韩夜夜| 日韩精品一区二区三区免费视频| 亚洲自啪免费| 99国产精品视频免费观看一公开| 亚洲福利国产| 尤物tv在线精品| 久久精品观看| 香蕉精品久久|