参考: https://www.python100.com/html/S2IT74V832KF.html
Python では、パスがない場合、os.makedirs() メソッドを使用して新しいフォルダーまたはディレクトリを作成できます。以下では、Python が新しいフォルダーを作成し、その中にファイルを作成する方法をさまざまな側面から詳しく紹介します。
1. 新しいフォルダーを作成します
新しいフォルダーまたはディレクトリは、os.makedirs() メソッドを使用して簡単に作成できます。
import os
path = "new_folder"
os.makedirs(path)
このコードは、現在の作業ディレクトリに「new_folder」という名前のフォルダーを作成します。しかし、特定のパスの下に新しいフォルダーを作成したい場合はどうすればよいでしょうか?
import os
# 打开指定目录
path = "C:/Users/user/Desktop"
os.chdir(path)
# 创建新文件夹
new_folder = "new_folder"
os.makedirs(new_folder)
まず、os.chdir() メソッドを使用して指定されたディレクトリを開き、次に os.makedirs() メソッドを使用してそのディレクトリ内に「new_folder」という名前のフォルダーを作成します。
2. 新しいフォルダーにファイルを作成します
open() メソッドを使用すると、新しいファイルを新しいフォルダーに簡単に作成できます。
import os
path = "new_folder"
os.makedirs(path)
file = open(path + "/new_file.txt", "w")
file.write("Hello World!")
file.close()
このコードは、新しいフォルダー「new_folder」を作成し、その中に「new_file.txt」というファイルを作成し、「Hello World!」と書き込みます。
3. フォルダーが存在するかどうかを確認します
新しいフォルダーを作成する前に、そのフォルダーが存在しないことを確認する必要があります。os.path.exists() メソッドを使用して、フォルダーが存在するかどうかを確認できます。
import os
path = "new_folder"
if not os.path.exists(path):
os.makedirs(path)
print("Folder created")
else:
print("Folder already exists")
このコードは、フォルダー「new_folder」が存在するかどうかを確認します。新しいフォルダーが作成され、フォルダーが存在しない場合は「フォルダーが作成されました」と出力され、既に存在する場合は「フォルダーは既に存在します」と出力されます。
4. ファイルではなくフォルダーのみを作成します。
フォルダーを作成するだけで、フォルダー内にファイルは作成したくない場合は、os.mkdir() メソッドを使用できます。
import os
path = "new_folder"
os.mkdir(path)
os.mkdir() メソッドは os.makedirs() メソッドに似ていますが、パス内に中間フォルダーを作成しません。パス内のディレクトリが存在しない場合、os.mkdir() メソッドは例外をスローします。
5. 複数レベルのフォルダーを作成する
マルチレベルのフォルダーを作成する場合は、複数のディレクトリを含むパスを os.mkdir() または os.makedirs() メソッドに渡すことができます。
import os
path = "new_folder/sub_folder/child_folder"
os.makedirs(path)
このコードは、現在の作業ディレクトリに「new_folder/sub_folder/child_folder」という名前の複数レベルのディレクトリを作成します。
6. まとめ
この記事では、Python で新しいフォルダーを作成し、そのフォルダー内にファイルを作成するさまざまな方法について詳しく説明します。まず、os.makedirs() メソッドを使用して新しいフォルダーまたはディレクトリを作成する方法を学びました。次に、新しいフォルダーにファイルを作成する方法、フォルダーが存在するかどうかを確認する方法、およびファイルを作成せずにフォルダーのみを作成する方法について説明しました。最後に、複数レベルのフォルダーを作成する方法について説明しました。この記事が、Python でのフォルダー作成の操作をより深く理解するのに役立つことを願っています。