Перейти к основному содержимому

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"))