次のコードにより、ディレクトリが存在しない場合は作成できます。
dir = 'path_to_my_folder'
if not os.path.exists(dir):
os.makedirs(dir)
このフォルダーは、プログラムがテキストファイルをそのフォルダーに書き込むために使用されます。しかし、次にプログラムを開いたときに、新しい空のフォルダーから始めたいと思います。
フォルダーが既に存在する場合、フォルダーを上書きする(および同じ名前で新しいフォルダーを作成する)方法はありますか?
import os
import shutil
dir = 'path_to_my_folder'
if os.path.exists(dir):
shutil.rmtree(dir)
os.makedirs(dir)
import os
import shutil
path = 'path_to_my_folder'
if not os.path.exists(path):
os.makedirs(path)
else:
shutil.rmtree(path) # Removes all the subdirectories!
os.makedirs(path)
どのようにそのことについて? shutil のPython
ライブラリを見てください!
os.path.exists(dir)
チェックを推奨しますが、ignore_errors
を使用することで回避できます
dir = 'path_to_my_folder'
shutil.rmtree(dir, ignore_errors=True)
os.makedirs(dir)
言うだけ
dir = 'path_to_my_folder'
if not os.path.exists(dir): # if the directory does not exist
os.makedirs(dir) # make the directory
else: # the directory exists
#removes all files in a folder
for the_file in os.listdir(dir):
file_path = os.path.join(dir, the_file)
try:
if os.path.isfile(file_path):
os.unlink(file_path) # unlink (delete) the file
except Exception, e:
print e
try:
os.mkdir(path)
except FileExistsError:
pass
[〜#〜] eafp [〜#〜] (許可よりも赦しを求めやすい)バージョンです:
import errno
import os
from shutil import rmtree
from uuid import uuid4
path = 'path_to_my_folder'
temp_path = os.path.dirname(path)+'/'+str(uuid4())
try:
os.renames(path, temp_path)
except OSError as exception:
if exception.errno != errno.ENOENT:
raise
else:
rmtree(temp_path)
os.mkdir(path)