Python Tutorial
Python Variable
Python Operators
Python Sequence
Python String
Python Flow Control
Python Functions
Python Class and Object
Python Class Members (properties and methods)
Python Exception Handling
Python Modules
Python File Operations (I/O)
The pathlib
module in Python provides an object-oriented way to work with file system paths, offering a more intuitive and readable interface compared to the os.path
module. The pathlib
module is available in Python 3.4 and later. In this tutorial, we will learn how to use some of the most common features of the pathlib
module.
pathlib
module:To use the pathlib
module, you need to import it first.
from pathlib import Path
Path
object:To work with file paths using pathlib
, you need to create a Path
object. You can create a Path
object for an existing path or a new path.
# Create a Path object for the current working directory current_dir = Path(".") # Create a Path object for an absolute path absolute_path = Path("/home/user/documents/example.txt")
/
operator:The pathlib
module allows you to join paths using the /
operator, which is more readable than the os.path.join()
function.
parent_dir = Path("/home/user/documents") file_name = "example.txt" file_path = parent_dir / file_name print(file_path) # Output: "/home/user/documents/example.txt"
Path
objects have methods for reading and writing files, which makes it easy to work with file content.
# Write content to a file file_path = Path("example.txt") file_path.write_text("Hello, pathlib!") # Read content from a file content = file_path.read_text() print(content) # Output: "Hello, pathlib!"
.exists()
, .is_file()
, and .is_dir()
:Path
objects have methods to check if a path exists, and if it's a file or a directory.
path = Path("/home/user/documents/example.txt") print(path.exists()) # Output: True if the path exists, False otherwise print(path.is_file()) # Output: True if the path is a file, False otherwise print(path.is_dir()) # Output: True if the path is a directory, False otherwise
.resolve()
:The .resolve()
method is used to get the absolute path of a Path
object.
relative_path = Path("documents/example.txt") absolute_path = relative_path.resolve() print(absolute_path)
Path
objects have properties to get the parent directory, file name, stem (file name without extension), and suffix (file extension).
path = Path("/home/user/documents/example.txt") print(path.parent) # Output: "/home/user/documents" print(path.name) # Output: "example.txt" print(path.stem) # Output: "example" print(path.suffix) # Output: ".txt"
You can use the .iterdir()
method to iterate through the contents of a directory.
dir_path = Path("/home/user/documents") for item in dir_path.iterdir(): print(item)
In summary, the pathlib
module in Python provides an object-oriented and readable way to work with file system paths. It offers methods for creating, joining, and manipulating paths, as well as reading and writing files, checking path properties, and iterating through directory contents.
Working with paths using pathlib in Python:
pathlib
module provides an object-oriented approach to path manipulation, making it more readable and expressive.from pathlib import Path # Create a Path object path = Path("/path/to/example.txt") # Access components of the path directory = path.parent file_name = path.name
Pathlib vs os.path in Python:
pathlib
offers a more object-oriented and readable interface for path manipulation compared to the traditional os.path
.from pathlib import Path # Using pathlib path1 = Path("/path/to/example.txt") parent_dir = path1.parent # Using os.path path2 = "/path/to/example.txt" parent_dir = os.path.dirname(path2)
Creating and manipulating paths with pathlib.Path in Python:
Path
class from pathlib
.from pathlib import Path # Create a Path object path = Path("/path/to") # Join paths using / new_path = path / "example.txt" # Resolve the absolute path absolute_path = new_path.resolve()
Pathlib path joining with / operator in Python:
/
operator to join paths, making it more readable and concise.from pathlib import Path # Create a Path object base_path = Path("/path/to") file_name = "example.txt" # Join paths using / full_path = base_path / file_name
Checking if a path exists with pathlib.Path in Python:
exists()
method of Path
to check if a path exists.from pathlib import Path # Create a Path object path = Path("/path/to/example.txt") # Check if the path exists if path.exists(): print("Path exists!")
Python pathlib.Path.cwd() for current working directory:
Path.cwd()
to get the current working directory.from pathlib import Path # Get the current working directory current_directory = Path.cwd()
Iterating over files and directories with pathlib.Path in Python:
iterdir()
method to iterate over files and directories in a given path.from pathlib import Path # Create a Path object directory = Path("/path/to") # Iterate over files and directories for item in directory.iterdir(): print(item)
Using pathlib.Path.resolve() for absolute paths in Python:
resolve()
method to obtain the absolute path of a Path
object.from pathlib import Path # Create a Path object relative_path = Path("example.txt") # Resolve to obtain the absolute path absolute_path = relative_path.resolve()
Reading and writing files with pathlib.Path in Python:
read_text()
and write_text()
methods of Path
for reading and writing file contents.from pathlib import Path # Create a Path object file_path = Path("/path/to/example.txt") # Read file contents content = file_path.read_text() # Write to a file new_content = "New content" file_path.write_text(new_content)