[파이썬] os 상대 경로 반환: `os.path.relpath()`

The syntax of os.path.relpath() is as follows:

os.path.relpath(path, start)

Here, path is the absolute or relative path to a file or directory that you want to find the relative path for, and start is the directory from which you want to start measuring the relative path. If you omit start, it defaults to the current working directory.

Let’s see an example to understand how os.path.relpath() works:

import os

# Define the absolute or relative paths
path_to_file = '/Users/username/Documents/file.txt'
start_directory = '/Users/username/Documents/projects/'

# Get the relative path from the start_directory to path_to_file
relative_path = os.path.relpath(path_to_file, start_directory)

# Print the relative path
print(relative_path)

Output:

../file.txt

In the example above, we are using the os.path.relpath() function to find the relative path from the start_directory to path_to_file. The start_directory is /Users/username/Documents/projects/ and the path_to_file is /Users/username/Documents/file.txt. The resulting relative path is ../file.txt, indicating that the file file.txt is one directory up from the start_directory.

Using os.path.relpath() can be particularly useful when you need to generate relative paths to access files or directories from a given starting point, especially when dealing with complex directory structures or when you want to make your code more portable.

Remember to import the os module before using os.path.relpath().