os模塊

os模塊是和系統進行交互的模塊python

文件夾操做

文件夾的建立

生成多層文件夾

makedirs()bash

os.makedirs('dir1/dir2')

生成一層文件夾

mkdir(),當父文件夾存在時,能夠在父文件建立zi文件夾,需注意的是依然是隻建立一個文件夾,當在沒有此文件名的父文件中建立子文件夾時會報錯dom

os.mkdir('dir3/dir4')
運行結果:
報錯

os.mkdir('dir3')
os.mkdir('dir3/dir4')
運行結果:
建立相應文件夾

刪除文件夾

須要注意的是不管哪一種刪除文件夾的操做都只會刪除空文件夾,含有文件的文件夾不會被刪除ui

刪除多層文件夾

removedirs()當不存在要刪除的文件夾名時會報錯spa

os.removedirs('dir3/dir4')

刪除一層文件夾

rmdir()當不存在要刪除的文件夾名時會報錯操作系統

os.rmdir('dir3/dir4')

文件的操做

listdir()列出指定目錄下的全部文件及子目錄,包括隱藏文件,以列表形式打印code

print(os.listdir("E:\python-file\August_new\8-20\day18"))
運行結果:
['1.內容回顧.py', '2.本週安排和今日內容.py', '3.random模塊.py', '4.時間模塊.py', '5.sys模塊.py', '6.os模塊.py', 'dir1', '__init__.py']

os.remove()刪除一個文件blog

os.rename("oldname","newname")重命名文件ip

os.stat()過去文件/目錄信息rem

print(os.stat("E:\python-file\August_new\8-20\day18"))
print(os.stat("E:\python-file\August_new\8-20\姚佳琦.py"))
運行結果:
os.stat_result(st_mode=16895, st_ino=7318349394508752, st_dev=3235112279, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1534766481, st_mtime=1534766481, st_ctime=1534748366)
os.stat_result(st_mode=33206, st_ino=10133099161615310, st_dev=3235112279, st_nlink=1, st_uid=0, st_gid=0, st_size=3059, st_atime=1534764269, st_mtime=1534764269, st_ctime=1534751574)

統計文件的大小

os.path.getsize('路徑') # python的命令
dir 路徑 \C   # 操做系統的命令

顯示當前路徑下的全部文件和文件夾

os.system('dir 路徑')  # 使用python語言直接執行操做系統的命令
os.listdir('路徑')     # 使用python語言的os模塊提供的方法 間接調用了操做系統命令

os.system("bash command")直行系統的命令沒有返回值

os.system('執行字符串數據類型的操做系統命令')

os.popen("bash command").read()直行命令獲取結果

os.popen('執行字符串數據類型的操做系統命令,並返回結果')

os.getcwd()獲取當前的工做目錄,也就是當前python腳本工做的目錄路徑

獲取當前執行命令的時候所在的目錄

os.chdir("dirname")改變當前腳本的工做目錄

修改當前執行命令的時候所在的目錄

目錄拼接,適合全部操做系統

file_lst = os.listdir('E:\python-file\August_new\8-20\day18')
for path in file_lst:
    print(os.path.join('E:\python-file\August_new\8-20\day18', path))
運行結果:
E:\python-file\August_new\Scripts\python.exe E:/python-file/August_new/8-20/day18/6.os模塊.py
E:\python-file\August_new\8-20\day18\1.內容回顧.py
E:\python-file\August_new\8-20\day18\2.本週安排和今日內容.py
E:\python-file\August_new\8-20\day18\3.random模塊.py
E:\python-file\August_new\8-20\day18\4.時間模塊.py

os.path

os.path.abspath(path) 返回path規範化的絕對路徑 os.path.split(path) 將path分割成目錄和文件名二元組返回 
os.path.dirname(path) 返回path的目錄。其實就是os.path.split(path)的第一個元素 
os.path.basename(path) 返回path最後的文件名。如何path以/或\結尾,那麼就會返回空值。即os.path.split(path)的第二個元素
os.path.exists(path)  若是path存在,返回True;若是path不存在,返回False
os.path.isabs(path)  若是path是絕對路徑,返回True
os.path.isfile(path)  若是path是一個存在的文件,返回True。不然返回False
os.path.isdir(path)  若是path是一個存在的目錄,則返回True。不然返回False
os.path.join(path1[, path2[, ...]])  將多個路徑組合後返回,第一個絕對路徑以前的參數將被忽略
os.path.getatime(path)  返回path所指向的文件或者目錄的最後訪問時間
os.path.getmtime(path)  返回path所指向的文件或者目錄的最後修改時間
os.path.getsize(path) 返回path的大小

os模塊總結

os模塊:
    定製了不少方法 間接的幫助你去調用操做系統的命令 得到結果
    而後幫助你分析整理成咱們須要的數據類型的形態
同時也能夠os.popen/os.system直接取調用操做系統的命令 得到結果
    可是 分析和整理的工做須要你本身作
用os模塊的方法自己可以完成的功能咱們就用定製好的方法就夠了
若是有一天 你發現os模塊定製好的功能解決不了咱們的問題了
    而恰好操做系統的命令可以很好地幫助咱們解決問題
    這個時候就用os.popen/os.system
相關文章
相關標籤/搜索