Os.Path.Join у Python: практичний посібник із прикладами

Досліджуючи та беручись до більш складних проектів, ви помітите, що деякі проекти містять багато файлів. Керування цими файлами може сповільнити ваш прогрес і відволікти вашу увагу, тому важливо навчитися маніпулювати шляхами до файлів і каталогами за допомогою функцій Python. Однією з важливих функцій для досягнення цього є os.path.join().

Функція os.path.join() дозволяє об’єднати один або кілька сегментів шляху, щоб створити повний шлях. Це забезпечує розміщення рівно одного розділювача каталогу між кожною непорожньою частиною, за винятком останньої частини. Таким чином ви можете уникнути жорсткого кодування шляхів вручну .

Os.Path.Join у Python: практичний посібник із прикладами

У цій статті ми розглянемо використання модуля os.path і те, як ви можете створити незалежні від платформи шляхи. Почнемо з огляду os.path.join!

Зміст

Огляд os.path.join

os.path.join — це корисний метод у модулі os.path Python , який дозволяє об’єднати один або більше сегментів шляху, щоб сформувати повний шлях файлової системи.

Це корисно, коли ви працюєте з файлами та каталогами, оскільки це допомагає створювати шляхи незалежно від платформи без необхідності жорсткого програмування.

Os.Path.Join у Python: практичний посібник із прикладами

Коли ви використовуєте os.path.join() , він приймає path і paths як параметри, де path і компоненти в paths можуть бути або рядком, або об’єктом bytes, що представляє шлях.

Метод об’єднує path з усіма членами *paths , гарантуючи, що лише один роздільник каталогу з’являється після кожної непорожньої частини, окрім останньої.

Ми перерахували кілька важливих моментів про os.path.join() :

  • Це допомагає вам створювати незалежні від платформи шляхи, які працюють у різних операційних системах.

  • Метод автоматично піклується про додавання необхідного роздільника каталогів (або похилої риски / або зворотної похилої риски залежно від операційної системи) між компонентами шляху.

  • Ви можете використовувати os.path.join() з іншими методами OS , наприклад os.walk() , під час створення шляхів до файлів або папок.

Нижче наведено приклад використання os.path.join() для об’єднання файлів і папок в один шлях:

import os

path1 = "folder1"
path2 = "folder2"
filename = "helloworld.txt"

full_path = os.path.join(path1, path2, filename)
print(full_path)

У цьому прикладі os.path.join() використовується для об’єднання folder1 , folder2 і example_file.txt в один шлях. Отриманий результат показаний на зображенні нижче:

Os.Path.Join у Python: практичний посібник із прикладами

os.path.join() гарантує, що ви можете зручно працювати зі шляхами до файлів і каталогів.

Наведений вище приклад надано для огляду корисності os.path.join() . У наступному розділі ми розглянемо синтаксис os.path.join() , щоб допомогти вам краще зрозуміти логіку цієї функції.

Який синтаксис os.path.join()?

У цьому розділі ми розглянемо синтаксис і параметри методу os.path.join() у Python.

Os.Path.Join у Python: практичний посібник із прикладами

Синтаксис для використання os.path.join() такий:

os.path.join(path, *paths)

Ми перерахували для вас основні параметри, які вам потрібно знати під час використання цієї функції:

  • шлях : це перша частина адреси файлу або папки. Зазвичай це рядок (послідовність літер, цифр або символів), але це також можуть бути інші типи даних, які діють як рядок.

  • *шляхи : це будь-які інші частини адреси файлу чи папки, які ви хочете додати до першої частини. Ви можете додати скільки завгодно частин. Як і в першій частині, це можуть бути рядки або інші типи даних, які діють як рядки.

Під час використання os.path.join() метод об’єднує надані шляхи, вставляючи відповідний роздільник (наприклад, / або ) на основі вашої системи. Це гарантує, що комбіновані шляхи сумісні з вашою операційною системою та іншими функціями Python.

Тепер, коли ви знаєте синтаксис функції os.path.join() , давайте розглянемо модуль os, який дозволяє використовувати цю функцію.

Як використовувати функцію os.path.join

Щоб почати використовувати метод os.path.join у вашій програмі Python, вам спочатку потрібно імпортувати необхідний модуль OS. os означає, що це функція, яка залежить від операційної системи .

Щоб імпортувати модуль os, просто додайте такий рядок на початку сценарію Python:

import os

Після того, як ви імпортували модуль os, ви можете використовувати різні методи, включаючи os.path.join .

Цей метод особливо корисний для розумного комбінування компонентів шляху. Це допомагає уникнути проблем із конкатенацією шляхів і робить ваш код більш портативним і читабельним.

Щоб використовувати os.path.join , ви можете викликати його з потрібними компонентами шляху як аргументами:

combined_path = os.path.join(path1, path2)

Коли ви включаєте модуль os і метод os.path.join у свій код, ви гарантуєте, що ваш шлях до файлу є узгодженим і надійним на різних платформах.

Також важливо знати, як працювати зі шляхами під час використання функції os.path.join() у вашому .

Як працювати з контурами

У цьому розділі ми розглянемо різні компоненти шляху, які дозволять вам створювати або маніпулювати шляхами відповідно до проблеми.

Зокрема, ми розглянемо наступне:

  1. Об’єднання компонентів шляху за допомогою os.path.join()

  2. Абсолютний і відносний шляхи

1. Об’єднання компонентів шляху за допомогою os.path.join()

Під час роботи з файлами та каталогами в Python вам часто потрібно маніпулювати іменами шляхів за допомогою методу приєднання. Os.path.join () є корисним інструментом для цієї мети.

У наступному прикладі показано, як можна об’єднати шляхи за допомогою методу os.path.join:

import os

path1 = "home"
path2 = "your_directory"
filename = "your_file.txt"

fullpath = os.path.join(path1, path2, filename)
print(fullpath) 

У цьому сценарії Python ми керуємо шляхами до файлів, об’єднуючи разом частини «/home», «your_directory» і «your_file.txt» за допомогою функції os.path.join() .

Результатом є єдиний рядок, який утворює повний об’єднаний шлях, який представляє розташування файлу your_file.txt у системі.

Os.Path.Join у Python: практичний посібник із прикладами

Щоб дізнатися більше про маніпулювання та трансформацію в Python, перегляньте таке відео:

2. Абсолютний і відносний шляхи

Використовуючи функцію os.path.join() , ви можете працювати як з абсолютними, так і з відносними шляхами.

Абсолютний шлях – це повний шлях, який починається з кореневого каталогу та включає всі компоненти шляху.

Нижче наведено приклад роботи з компонентом абсолютного шляху за допомогою методу os.path.join() :

import os

# Absolute path
abs_path1 = "/var/www"
abs_path2 = "html"
filename = "index.html"
full_abs_path = os.path.join(abs_path1, abs_path2, filename)
print(full_abs_path)  # "/var/www/html/index.html"

У цьому сценарії ми створюємо абсолютний шлях до файлу з назвою index.html, розташованого в каталозі html у /var/www.

Ми досягаємо цього, використовуючи функцію os.path.join() , щоб поєднати «/var/www», «html» і «index.html» в один повний шлях.

Os.Path.Join у Python: практичний посібник із прикладами

Відносний шлях вказує розташування файлу або каталогу відносно поточного каталогу. Нижче наведено приклад роботи з відносними шляхами в методі os.path.join() :

import os

rel_path1 = ".."
rel_path2 = "other_directory"
filename = "example.txt"
full_rel_path = os.path.join(rel_path1, rel_path2, filename)
print(full_rel_path)  # "../other_directory/example.txt"

У цьому коді ми створюємо відносний шлях до файлу під назвою example.txt у каталозі під назвою other_directory. Цей каталог є одним рівнем вище від поточного каталогу, представленого «..».

Ми використовуємо функцію os.path.join() , щоб об’єднати ці частини в один повний відносний існуючий шлях.

Os.Path.Join у Python: практичний посібник із прикладами

Іншим важливим компонентом роботи з каталогами є доступ до поточного робочого каталогу. Коли ви використовуєте функцію os.path.join() , більшу частину часу ви матимете доступ до поточного робочого каталогу. Це пояснюється тим, що поточний робочий каталог є відправною точкою при створенні нових.

Давайте подивимося, як ви можете отримати доступ до поточного робочого каталогу!

Як отримати доступ до поточного робочого каталогу в Python

Працюючи зі шляхами та каталогами, ви можете зіткнутися з ситуаціями, коли вам потрібно переміщатися по каталогах або відкривати файли з різних місць. Розуміння концепції поточного робочого каталогу (CWD) має вирішальне значення для цієї мети.

Поточний робочий каталог – це папка, у якій наразі виконується ваш сценарій Python.

Щоб отримати поточний робочий каталог, ви можете використати функцію os.getcwd() з модуля os , як показано в прикладі коду нижче:

import os

current_directory = os.getcwd()
print("Current working directory:", current_directory)

Цей код дає нам поточний робочий каталог, як показано нижче:

Os.Path.Join у Python: практичний посібник із прикладами

Чи сумісні між платформами шляхи, створені за допомогою os.path.join

Так, функція os.path.join() гарантує, що ви створюєте шляхи до файлів переносним способом, незалежно від основної операційної системи.

Ця функція піклується про використання правильного розділювача каталогів для поточної платформи, роблячи ваш код більш адаптивним і придатним для обслуговування.

Наприклад, візьмемо наступний приклад, де ми об’єднуємо шляхи та файли за допомогою os.path.join() :

import os

path = os.path.join('directory1', 'directory2', 'file.txt')
print(path)

На момент написання статті ми використовували операційну систему Windows, і результат виглядав так:

Os.Path.Join у Python: практичний посібник із прикладами

Вихідні дані показують домашній каталог поточного користувача.

Однак, якщо ви використовуєте операційну систему на базі Unix, ваш результат виглядатиме так:

/directory2/file.txt

У наведеному вище прикладі ви бачите, що роздільники каталогів відрізняються залежно від операційної системи, що ілюструє, як os.path.join() автоматично обробляє відмінності за вас.

Тепер, коли ви знайомі з основними компонентами функції os.path.join() , давайте розглянемо приклади та випадки використання цієї функції.

Які варіанти використання os.path.join()?

У цьому розділі ми розглянемо деякі проекти. Ці приклади допоможуть вам краще зрозуміти, коли використовувати функцію os.path.join() у вашому коді.

1. Читання та запис файлів

Коли ви працюєте з файлами, вам часто потрібно вказати повний шлях до файлу. Цей шлях може знадобитися динамічно створювати на основі таких факторів, як операційна система користувача, поточний робочий каталог або дані користувача.

os.path.join() допомагає побудувати ці шляхи надійним і незалежним від платформи способом.

Нижче наведено приклад читання та запису файлів за допомогою os.path.join() :

directory = input("Enter the directory where the file is stored: ")
filename = input("Enter the filename: ")
path = os.path.join(directory, filename)

with open(path, 'r') as file:
    print(file.read())

У цьому сценарії ми просимо користувача ввести каталог і назву файлу. Потім ми використовуємо os.path.join() , щоб сформувати повний шлях до файлу. Після цього ми відкриваємо цей файл у режимі читання та роздруковуємо його вміст.

Os.Path.Join у Python: практичний посібник із прикладами

2. Створення нових каталогів

Коли ви створюєте нові каталоги за допомогою os.makedirs() , ви можете використовувати os.path.join() , щоб створити шлях до нового каталогу.

Нижче наведено приклад створення нових каталогів за допомогою os.path.join() :

base_directory = "/tmp"
new_directory = "my_new_directory"
path = os.path.join(base_directory, new_directory)
os.makedirs(path, exist_ok=True)

У цьому сценарії ми створюємо шлях до нового каталогу під назвою my_new_directory у каталозі /tmp. Потім ми використовуємо os.makedirs() , щоб створити цей новий каталог у нашій системі, якщо він ще не існує.

Os.Path.Join у Python: практичний посібник із прикладами

3. Перелік файлів у каталозі

Якщо ви хочете перерахувати всі файли певного типу в каталозі, ви можете використовувати os.path.join() , щоб створити шляхи до кожного файлу.

Наступний приклад демонструє створення шляхів до всіх файлів за допомогою os.path.join() :

directory = "E:ospathjoin"
for filename in os.listdir(directory):
    if filename.endswith(".txt"):
        path = os.path.join(directory, filename)
        print(path)

У цьому сценарії ми скануємо всі файли у вказаному каталозі E:ospathjoin за допомогою .

Для кожного файлу, який закінчується на «.txt», ми об’єднуємо каталог і назву файлу, щоб сформувати повний шлях, який потім друкуємо.

Os.Path.Join у Python: практичний посібник із прикладами

4. Ітерація шляхів із циклом For

Ви також можете використовувати цикл for для повторення двох або більше компонентів шляху та об’єднання їх за допомогою os.path.join . Це може бути особливо корисним під час роботи з довгими або кількома вкладеними каталогами. Наприклад:

import os

paths = ["folder1", "folder2", "folder3", "file.txt"]
combined_path = ""

for p in paths:
    combined_path = os.path.join(combined_path, p)

print(combined_path)

У цьому сценарії ми створюємо шлях до файлу з назвою file.txt , розташованого в серії вкладених каталогів ( папка1, папка2, папка3 ). Ми робимо це шляхом послідовного об’єднання кожної частини шляху за допомогою os.path.join() , і метод повертає шлях, який роздруковується.

Os.Path.Join у Python: практичний посібник із прикладами

Заключні думки

os.path.join() є важливою частиною мови програмування Python при роботі зі шляхами до файлів і каталогів. Уміння маніпулювати шляхами сумісним із усіма операційними системами є важливою навичкою. Це гарантує, що ваш код залишається менш схильним до помилок.

Крім того, розуміння та використання os.path.join() допоможе вам взаємодіяти з файловою системою — читати з файлів, записувати у файли, створювати каталоги тощо.

Продовжуючи свою подорож у програмуванні на Python, ви знайдете os.path.join() корисним під час роботи з каталогами. Чим більше ви його використовуєте, тим більше ви оціните його цінність. Вивчивши та опанувавши цю функцію, ви робите значний крок вперед, щоб стати більш досвідченим програмістом Python!


Поле пошуку PowerApps: як додати та налаштувати

Поле пошуку PowerApps: як додати та налаштувати

Дізнайтеся, як створити поле пошуку PowerApps з нуля та налаштувати його відповідно до загальної теми вашої програми.

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Збирайте або фіксуйте значення в мірі для повторного використання в іншій мірі для динамічних обчислень за допомогою SELECTEDVALUE DAX у LuckyTemplates.

Історія версій у списках SharePoint

Історія версій у списках SharePoint

Дізнайтеся, як історія версій у SharePoint може допомогти вам побачити еволюцію певних даних і скільки змін вони зазнали.

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Ось інструмент для створення звітів і візуальних матеріалів, засіб вибору шістнадцяткових кодів кольорів, за допомогою якого можна легко отримати кольори для звітів LuckyTemplates.

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Ви можете легко відобразити діапазон дат як роздільник у своєму звіті за допомогою таблиці періодів. Використовуйте M-код, щоб створити динамічний роздільник дат у LuckyTemplates.

Таблиці пропорцій і частот в Excel

Таблиці пропорцій і частот в Excel

Збирався зануритися в частотні таблиці в Excel, а також у таблиці пропорцій. Добре подивіться, що це таке і коли їх використовувати.

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Дізнайтеся, як завантажити та інсталювати DAX Studio та Tabular Editor 3 і як налаштувати їх для використання в LuckyTemplates і Excel.

Візуалізація карти форми LuckyTemplates для просторового аналізу

Візуалізація карти форми LuckyTemplates для просторового аналізу

Цей блог містить візуалізацію Shape Map для просторового аналізу в LuckyTemplates. Я покажу вам, як ви можете ефективно використовувати цю візуалізацію з її функціями та елементами.

Фінансова звітність LuckyTemplates: розподіл результатів за шаблонами в кожному окремому рядку

Фінансова звітність LuckyTemplates: розподіл результатів за шаблонами в кожному окремому рядку

У цьому підручнику я демонструю унікальну ідею щодо фінансової звітності, яка полягає в розподілі результатів для попереднього визначення шаблонів таблиць у LuckyTemplates.

Вимірювання DAX у LuckyTemplates за допомогою розгалуження вимірювання

Вимірювання DAX у LuckyTemplates за допомогою розгалуження вимірювання

Створіть показники DAX у LuckyTemplates, використовуючи наявні показники або формули. Це те, що я називаю технікою розгалуження міри.