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!

Leave a Comment

Змініть формати дати за допомогою редактора Power Query

Змініть формати дати за допомогою редактора Power Query

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

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

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

Створення таблиці дат у LuckyTemplates

Створення таблиці дат у LuckyTemplates

Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

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

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

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

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

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

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

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