Основи Python и Django. / Файлова система. Рядки. Списки. / Файли, каталоги.
Бібліотека os. Робота із файловою системою.
Посилання на офіційну документацію
import os
print('OS module!')
print(__file__)
print(os.path.realpath(__file__))
print(os.path.dirname(os.path.realpath(__file__)))
Висновок
OS module!
os-exmpl.py
/home/zdimon/storage1/www/wm_ve/data/python-beginner/ru/2-os-string/code/os-exmpl.py
/home/zdimon/storage1/www/wm_ve/data/python-beginner/ru/2-os-string/code
os.path.realpath - абсолютний шлях з ім’ям файлу. os.path.dirname - абсолютний шлях з ім’ям файлу.
Поточна робоча директорія.
path = os.getcwd()
Створення та видалення директорій.
newdir = 'new'
os.mkdir(newdir)
Якщо потрібно створити одразу структуру директорій. path = “year/month/week/day” os.makedirs(path)
Видалення однієї директорії. os.rmdir(path)
Якщо потрібно видалити непусту директорію, то можна використовувати модуль shutil.
import shutil
shutil.rmtree('/folder_name')
Перевірка існування директорії.
if os.path.isdir('year'):
print("Deleting year dir")
shutil.rmtree('year')
Робота із шляхами.
Посилання на офіційну документацію
os.path.join(path1[, path2[, …]]) -поєднує шляхи з урахуванням особливостей операційної системи.
os.path.getsize(path) -розмір файлу у байтах.
Робота із файлами.
Створимо у циклі кілька непустих файлів, записавши у яких випадкове число від 100 до 200.
import random
for i in range(0,5):
rnd = random.randint(100, 200)
f = open(str(rnd)+'.txt','w')
f.write(str(rnd))
f.close()
При відкритті файлу необхідно вказати режим відкриття:
- r r+ -для читання та читання + записи
- w w+ - відкриття для запису w+ - створить новий порожній якщо не існує
- a a+ - відкрити для додавання до кінця файлу (позиціонує курсор до кінця)
random.randint(A, B) - випадкове ціле число N, A ≤ N ≤ B.
Відкриття оператором with. Читання файлу.
Chytannya faylu.
with open('147.txt','r') as f:
data = f.read()
print("Data is %s" % data)
Отримання вмісту директорії.
print("List directory")
lst = os.listdir('.')
print(lst)
Визначення файлу чи директорії.
data = os.listdir('.')
for d in data:
if os.path.isdir(d):
print("Directory is %s" % d)
else:
print("File is %s" % d)