把乙個目錄下所有的檔案刪除,在所有的目錄下新建乙個a.txt的檔案,並在檔案下寫入"python"關鍵字。
解題思路:
1.如果目錄存在則切換進入目錄
2.遍歷目錄下所有的檔案和目錄
3.判斷如果是檔案就刪除,如果是目錄則在目錄下新建乙個a.txt檔案,並把"python"寫入檔案。
解題方法:
方法一:
#encoding=utf-8
import os
import os.path
def handfile():
if os.path.exists("e:\\test"):
os.chdir("e:\\test")
file_list=os.listdir(os.getcwd())
for i in file_list:
#檢視test目錄下的所有檔案和目錄
#print (i)
#判斷如果是檔案,則刪除;是目錄則獲取目錄的絕對路徑,寫檔案到目錄下。
if os.path.isfile(i):
os.remove(i)
else:
#獲取目錄的絕對路徑
path_name=os.path.abspath(i)
#print("path_name:",path_name)
#寫檔案到目錄
with open(path_name+"\\a.txt","w") as fp:
fp.write("python\n")
else:
print("filenotfounderror!")
handfile()
方法二:
def handfile():
if os.path.exists(「e:\test」):
os.chdir(「e:\test」)
for i in os.listdir(「e:\test」): #os.listdir(".")
if os.path.isfile(i):
os.remove(i) #os.remove(「e:\test\」+i)
else:
#如果是目錄,則切換進入目錄
os.chdir(i)
fp=open(「a.txt」,「w」,encoding=「utf-8」) #設定指定編碼
fp.write(「python\n」)
fp.close()
os.chdir("…") #返回單上級目錄
else:
print("filenotfounderror!")
handfile()
方法三:
def handfile():
try:
os.chdir(「e:\test」)
for i in os.listdir(「e:\test」): #os.listdir(".")
if os.path.isfile(i):
os.remove(i) #os.remove(「e:\test\」+i)
else:
#獲取目錄的絕對路徑
path_name=os.path.abspath(i)
#print(「path_name:」,path_name)
#寫檔案到目錄
with open(path_name+"\a.txt",「w」) as fp:
fp.write(「python\n」)
except filenotfounderror:
print (「file not found!」)
except:
print (「unknown error !」)
handfile()
注意點:對於判斷目錄e:\test是否存在的問題,如果目錄存在則切換進入test目錄,並且遍歷目錄。如果不存在,則直接進行處理異常。
以下是錯誤**示例:
if os.path.exists(「e:\test」):
os.chdir(「e:\test」)
for i in os.listdir(os.getcwd()):
if os.path.isfile(i):
os.remove(i)
else:
with open(os.path.abspath(i)+"\a.txt",「w」) as fp:
fp.write(「python\n」)
如果test目錄不存在,程式繼續往下執行,遍歷當前操作目錄,本人預設當前操作目錄是計算機桌面也就是desktop,這時候悲催的一幕發生了,我的桌面所有的檔案都被乾掉了,且不可恢復,相當於執行了delete操作。
python檔案和目錄操作
一 python中對檔案 資料夾操作時經常用到的os模組和shutil模組常用方法。1.得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 2.返回指定目錄下的所有檔案和目錄名 os.listdir 3.函式用來刪除乙個檔案 os.remove 4.刪除多個目錄 os.re...
Python 檔案和目錄操作
操作檔案和目錄的函式一部分放在os模組中,一部分放在os.path模組中,這一點要注意一下。檢視 建立和刪除目錄可以這麼呼叫 檢視當前目錄的絕對路徑 os.path.abspath users michael 在某個目錄下建立乙個新目錄,首先把新目錄的完整路徑表示出來 os.path.join us...
python檔案和目錄操作
廖雪峰對應教程練習1 利用os模組編寫乙個能實現dir l輸出的程式。usr bin env python3 encoding utf 8 import os,time dir home dhc 桌面 dhc python練習 defdir l li os.listdir dir print mod...