Python: Операции с файлами и папками
Как создать пустой файл?
with open("example.txt", "w"):
pass
Как перезаписать текстовый файл?
with open("example.txt", "w") as file:
file.write("Data")
Как добавить данные в конец текстового файла?
with open("example.txt", "a") as file:
file.write("\nNew line of data")
Как проверить существование файла?
import os
if os.path.exists("example.txt"):
print("The file exists")
else:
print("The file does not exist")
Как прочитать текстовый файл?
with open("example.txt", "r") as file:
content = file.read()
print(content)
Как прочитать большой текстовый файл построчно?
with open("example.txt", "r", encoding="UTF-8") as file:
while line := file.readline(): # for line in file:
print(line.rstrip())
Как скопировать файл?
import shutil
shutil.copy('source.txt', 'destination.txt')
Как переместить файл?
import shutil
shutil.move('source.txt', 'destination.txt')
Как удалить файл?
import os
os.remove("example.txt")
Как создать новую папку?
import os
os.mkdir("new_folder")
# recursive
os.makedirs("parent/child/child_2", exist_ok=True)
Как получить список файлов в папке?
import os
files = os.listdir("folder_path")
print(files)
Recursive
import os
all_files = []
for root, dirs, files in os.walk("folder_path"):
for file in files:
all_files.append(os.path.join(root, file))
print(all_files)
Как удалить папку?
import os
os.rmdir("folder_path")
Recursive
import shutil
shutil.rmtree("folder_path")
Как найти файлы?
import glob
text_files = glob.glob("*.txt")
print(text_files)
Как объединить текстовые файлы в один?
import glob
read_files = glob.glob("./**/*.md", recursive=True)
with open(".output/result.md", "wb") as output:
for file in files:
with open(file, "rb") as reader:
output.write(reader.read())
Как получить текущий рабочий каталог?
import os
print(f"Current work directory: {os.getcwd()}")
print(f"Current file directory: {os.path.dirname(os.path.realpath(__file__))}")
Как получить путь к каталогу из пути?
print(os.path.dirname("/home/aleksey/projects/test.py"))
# output: /home/aleksey/projects
Как объединить компоненты пути?
import os
print(os.path.join("/home/user", "example.txt"))
Как нормализовать слэши в пути?
print(os.path.normpath("C:\\Projects/example/folder"))
Как получить абсолютный путь из относительного?
import os
print(os.path.abspath("../example.txt"))