在整個(gè)軟件開發(fā)項(xiàng)目中,可能涉及到對(duì)文件目錄的讀取,寫入操作,初始化工作不可或缺的就是對(duì)文件進(jìn)行規(guī)范化操作,下面提供一段文件初始化的代碼。
```python
import os
import shutil
filename = 'test'
? ? output_path_abs = os.path.join(os.getcwd(), filename)
? ? if os.path.exists(output_path_abs) is False:
? ? ? ? # 當(dāng)路徑不存在時(shí)候,創(chuàng)建路徑
? ? ? ? os.makedirs(output_path_abs)
? ? else:
? ? ? ? # 當(dāng)路徑存在時(shí)候,進(jìn)行清空操作
? ? ? ? for i in os.listdir(output_path_abs):
? ? ? ? ? ? if os.path.isdir(os.path.join(output_path_abs, i)):
? ? ? ? ? ? ? ? shutil.rmtree(os.path.join(output_path_abs, i))
? ? ? ? ? ? else:
? ? ? ? ? ? ? ? os.remove(os.path.join(output_path_abs, i))
```
代碼的功能注釋也有寫了,就是文件夾不在的時(shí)候就創(chuàng)建,在的時(shí)候就清空,從而保證這個(gè)文件路徑存在并且無其他內(nèi)容。
在清空部分用到兩種方法:rmtree和remove,一種用于刪除文件夾,另一種就是刪除文件,兩者都不能混著用。
當(dāng)然,在這段代碼中也有比較暴力的做法,就是文件夾如果存在就刪除后再重建
```python
import os
import shutil
filename = 'test'
? ? output_path_abs = os.path.join(os.getcwd(), filename)
? ? if os.path.exists(output_path_abs) is False:
? ? ? ? # 當(dāng)路徑不存在時(shí)候,創(chuàng)建路徑
? ? ? ? os.makedirs(output_path_abs)
? ? else:
shutil.rmtree(output_path_abs)
os.makedirs(output_path_abs)
```
可以省幾行代碼,但我們就了解不到那兩種刪除的方法和差異了,看你個(gè)人的喜好吧。