os模塊 是和操做系統交互的模塊python
import os # os.makedirs('dir1/dir2') # 生成多層遞歸目錄 # os.mkdir('dir3') # 生成單級目錄 # os.mkdir('dir3/dir4') # 已經存在的不能夠建立新文件 # 只能刪除空文件 # os.rmdir('dir3') # os.removedirs('dir1/dir2') # 若目錄爲空,則刪除,並遞歸到上一級目錄,如若也爲空,則刪除,依此類推 # print(os.stat(r'D:\untitled')) # 獲取文件目錄信息 # os.remove()# 刪除一個文件 # os.rename()#重命名一個文件 # os.system() /os.open()是執行字符串數據類型的 命令行代碼 # os.system('dir') # 亂碼 # ret = os.popen('dir') # 作查看類的操做 # print(ret.read())
import os
print(os.path.abspath(r'D:\untitled')) # 把路徑中不符合規範的,改爲符合操做系統默認的格式 # 可以給能找到的相對路徑改爲絕對路徑
import os
print(os.path.split(r'D:\untitled\複習\練習1.py')) # 把一個路徑分割成倆段, 第二段是一個文件/文件夾 獲得的是一個元組 print(os.path.dirname(r'D:\untitled\複習\練習1.py'))# D:\untitled\複習 print(os.path.basename(r'D:\untitled\複習\練習1.py'))# 練習1.py 拿最後一個文件/文件夾 # 若是倆個都須要用 os.path.split # 若是隻要一個值 os.path.dirname/os.path.basename
import os
os.path.exists() os.path.isabs() # 判斷文件/文件夾是否存在
os.path.getsize() 返回文件/文件夾的大小(單位:字節)
小練習
遞歸
使用python代碼統計一個文件夾中全部文件的總大小 import os def func(path): size_sum = 0 path_file = os.listdir(path) for i in path_file: path_abs = os.path.join(path, i) # 文件絕對路徑 if os.path.isdir(path_abs): size = func(path_abs) size_sum += size else: size_sum += os.path.getsize(path_abs) return size_sum print(func(r'D:\untitled'))
import os
知足一個順序 先進來的後出去 lst = [r'D:\untitled']# 列表的第一個目錄就是要統計的目錄 file_sum = 0 while lst: ret = lst.pop() # pop刪除最後一個元素而且返回刪除後的值 file_name = os.listdir(ret) for name in file_name: file_abs = os.path.join(ret, name) if os.path.isdir(file_abs): # 判斷是不是文件夾 lst.append(file_abs) else: file_sum += os.path.getsize(file_abs) print(file_sum)