Бібліотека 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.

Документація з random

Відкриття оператором 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)