Python | метод os.path.join().

Os Path Module — це підмодуль модуля OS у Python, який використовується для загальної обробки імен шляху. У цій статті ми дізнаємося про os.path.join() і безпечну обробку шляхів до файлів ОС Python .

Синтаксис методу Python os.path.join().

Синтаксис: os.path.join(шлях, *шляхи)

Параметр:

  • шлях : Об’єкт, схожий на шлях, що представляє шлях файлової системи.
  • *шлях : Об’єкт, схожий на шлях, що представляє шлях файлової системи. Він представляє компоненти шляху, які потрібно з’єднати. Об’єкт, подібний до шляху, — це рядковий або байтовий об’єкт, що представляє шлях.
  • Примітка: Особливий синтаксис *args (тут *шляхи) у визначеннях функцій у python використовується для передачі змінної кількості аргументів функції.

Тип повернення: Цей метод повертає рядок, який представляє об’єднані компоненти шляху.

метод os.path.join() у Python

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

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

Приклади функції os.path.join() і випадки використання

Нижче наведено кілька прикладів і випадків використання, за допомогою яких ми можемо об’єднати шляхи до файлів і безпечно обробляти шляхи до файлів Python ВИ.

Конкатенація компонентів шляху

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

Python3




import> os> # Path> path> => '/home'> # Join various path components> print> (os.path.join(path,> 'User/Desktop'> ,> 'file.txt'> ))> # Path> path> => 'User/Documents'> # Join various path components> print> (os.path.join(path,> '/home'> ,> 'file.txt'> ))> # Path> path> => '/User'> # Join various path components> print> (os.path.join(path,> 'Downloads'> ,> 'file.txt'> ,> '/home'> ))>

Вихід

/home/User/Desktop/file.txt /home/file.txt /home 

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

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

example.txt

techcodeview.com 

Python3




import> os> # Base directory and filename> base_dir> => '/home/user'> filename> => 'example.txt'> # Construct the full path> full_path> => os.path.join(base_dir, filename)> # Reading and writing files using the full path> with> open> (full_path,> 'r'> ) as> file> :> > content> => file> .read()> > print> (content)>

Вихід:

techcodeview.com 

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

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

Python3




import> os> # Current working directory> current_dir> => os.getcwd()> # List files in the current directory> files_in_dir> => os.listdir(current_dir)> # Iterate over files and print their full paths> for> file_name> in> files_in_dir:> > file_path> => os.path.join(current_dir, file_name)> > print> (file_path)>

Вихід

/home/guest/sandbox/1e914974-f313-477e-a710-2057a0037607.in /home/guest/sandbox/driver /home/guest/sandbox/Solution.py 

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

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

Python3




import> os> # List of file names> names> => [> 'file1.txt'> ,> 'file2.txt'> ,> 'file3.txt'> ]> # Iterate over file names and process each file> for> file_name> in> names:> > file_path> => os.path.join(> '/home/user'> , file_name)> > print> (f> 'Processing file: {file_path}'> )>

Вихід

Processing file: /home/user/file1.txt Processing file: /home/user/file2.txt Processing file: /home/user/file3.txt