1 文件操作
1.1 OS模塊
l import os #引入os模塊
l import os.path #引入os下的path子模塊
l os.getcwd() # 獲取當前路徑
l os.chdir(“e:\\1software”) #切換絕對路徑,也可以用相對路徑切換至此目錄下,不過前提是已經在e:\\盤目錄下,可行駛os.chdir(“1software”)
l os.path.isdir(“e:\\1software”) #判斷該“”內的對象是否是目錄,如果是則返回True,不是則為False
l os.path.isfile(“e:\\1.txt”) #判斷該””內的對象是否是文件,如果是則返回True,不是則為False
l os.name #查看系統名稱,如Windows下是 nt
l os.linesep #查看換行符,如Windows下是 \r\n
1.2 os模塊的增刪改查
l os.mkdir(“e:\\testfile”) #創建不存在的一個目錄(增加一個目錄)
l os.makedirs(“e:\\1\\2\\3\\4\\5”) #遞歸創建目錄 (遞歸增加多個目錄)
l os.remove(“e:\\1.txt”) #刪除e盤下的TXT文件 (刪除文件)
l os.remove("e:\\1\\2\\3\\4\\5\\1.txt") #刪除多級目錄下的TXT文件(只能刪除文件)
l os.removedirs(“e:\\1\\2\\3\\4\\5”) #遞歸從右側至左側刪除e盤下的目錄,如果某一級目錄非空,那么停止刪除(刪除多級目錄)
l os.rename(“e:\\a.py”,”b.py”) #指定目錄下重命名文件(改文件操作)
l os.rename(“e:\\1”,”e:\\2”) #指定目錄重命名 (改目錄操作)
l os.listdir(os.getcwd()) #當前路徑下的所有文件和目錄 (查看當前目錄下文件)
l os.listdir(“e:\\”) #指定目錄下的所有文件和目錄 (查看當前目錄下文件)
1.3 小練習
1.3.1 文件每一行寫一個字母,從a寫到z,每個字母后面帶個,和行號
l 方法一:
import string
fp=open(r"e:\abc\abc.txt","w")
for i in range(len(string.lowercase)):
fp.write(string.lowercase[i]+","+str(i+1)+"\n")
fp.close()
l 方法二:
fp=open(r"e:\abc\123.txt","w")
for i in range(1,27):
fp.write(chr(ord("a")+i-1)+","+str(i)+"\n")
fp.close()
l 方法三:
fp=open(r"e:\abc\123.txt","w")
fp.writelines([chr(ord("a")+i-1)+","+str(i)+"\n" for i in range(1,27)])
fp.close()
l 方法四:
import string
fp = open("e:\\1.txt","w")
content=map(lambda x,y:x+","+str(y)+"\n",list(string.lowercase),range(1,27))
fp.writelines(content)
fp.close()
1.3.2 統計某一級目錄下的文件和目錄數
import os
import os.path
os.chdir("e:\\1software")
print os.getcwd()
dir_result = 0
file_result =0
for i in os.listdir(os.getcwd()):
if os.path.isdir(i):
dir_result+=1
else:
file_result+=1
print dir_result,file_result
1.3.3 用代碼實現創建5級目錄
l 方法一:
import os
- os.chdir("e:\\1software")
print os.getcwd()
for i in range(1,6):
os.mkdir(str(i))
os.chdir(str(i))
l 方法二:
import os
- os.makedirs("e:\\photo\\2\\3\\4\\5\\6")