OS模塊的作用:
os,語(yǔ)義為操作系統(tǒng),所以肯定就是操作系統(tǒng)相關(guān)的功能了,可以處理文件和目錄這些我們?nèi)粘J謩?dòng)需要做的操作,就比如說:顯示當(dāng)前目錄下所有文件/刪除某個(gè)文件/獲取文件大小......
另外,os模塊不受平臺(tái)限制,也就是說:當(dāng)我們要在Linux中顯示當(dāng)前命令時(shí)就要用到pwd命令,而Windows中cmd命令行下就不是這個(gè),這時(shí)候我們使用python中的os模塊的os.path.abspath(name)功能,甭管是Linux或者是Windows都可以獲取當(dāng)前的絕對(duì)路徑。
os模塊的常用功能:
1、os.name #顯示當(dāng)前使用的平臺(tái)
2、os.getcwd() #顯示當(dāng)前python腳本工作路徑
3、os.listdir('dirname') #返回指定目錄下的所有文件和目錄名
4、os.remove('filename') #刪除一個(gè)文件
5、os.makedirs('dirname/dirname') #可生成多層遞歸目錄
6、os.rmdir('dirname') #刪除單級(jí)目錄
7、os.rename("oldname","newname") #重命名文件
8、os.system() #運(yùn)行shell命令 注意:這里是打開一個(gè)新的shell,運(yùn)行命令,當(dāng)命令結(jié)束后,關(guān)閉shell
9、os.sep #顯示當(dāng)前平臺(tái)下路徑分隔符
10、os.linesep #給出當(dāng)前平臺(tái)使用的行終止符
11、os.environ #獲取系統(tǒng)環(huán)境變量
12、os.path.abspath(path) #顯示當(dāng)前絕對(duì)路徑
13、os.path.dirname(path) #返回該路徑的父目錄
14、os.path.basename(path) #返回該路徑的最后一個(gè)目錄或者文件,如果path以 / 或 \ 結(jié)尾,那么就會(huì)返回空值。
15、os.path.isfile(path) #如果path是一個(gè)文件,則返回True
16、os.path.isdir(path) #如果path是一個(gè)目錄,則返回True
17、os.stat() #獲取文件或者目錄信息
18、os.path.split(path) #將path分割成路徑名和文件名。(事實(shí)上,如果你完全使用目錄,它也會(huì)將最后一個(gè)目錄作為文件名而分離,同時(shí)他不會(huì)判斷文件或目錄是否存在)
19、os.path.join(path.name) #鏈接目錄與文件名或目錄 ,結(jié)果為path/name
文件的重命名、刪除
有些時(shí)候,需要對(duì)文件進(jìn)行重命名、刪除等一些操作,python的os模塊中都有這樣的功能。
文件重命名
os模塊中的rename()可以完成對(duì)文件的重命名操作。
rename(需要修改的文件名,新的文件名)
import os
os.rename("demo1.txt","demo1-new.txt")
刪除文件
os模塊中的remove()可以完成對(duì)文件的刪除操作。
import os
os.remove("demo1.txt")
文件夾的相關(guān)操作
實(shí)際開發(fā)中,有時(shí)需要用程序的方式對(duì)文件夾進(jìn)行一定的操作,比如創(chuàng)建、刪除等。
創(chuàng)建文件夾
import os
os.mkdir("demo")
獲取當(dāng)前目錄
import os
os.getcwd()
改變默認(rèn)目錄
import os
os.chdir("../")
獲取目錄列表
import os
os.listdir("./")
刪除文件夾
import os
os.rmdir("張三")
批量修改文件名
//批量輸出所有文件名字
for name in dirList:
print name
if funFlag==1:
newName='[new]-'+name
elif funFlag==2:
num=len('[new]-')
newName=name[num:]
print newName
os.rename(folderName+name,folderName+newName)