Python 中的文件处理与系统模块详解

Python 提供了丰富的文件处理和系统相关模块,这些模块使得文件操作、目录管理以及与操作系统的交互变得简单而强大。在本文中,我们将深入探讨其中一些重要的模块和它们的用法。

1. os 模块:操作系统相关功能

os 模块提供了与操作系统交互的功能,可以执行文件和目录操作、获取系统信息等。

示例 1:获取当前工作目录和修改目录

python 复制代码
import os

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

os.chdir('/path/to/new/directory')
print("Changed Directory:", os.getcwd())

示例 2:遍历目录并打印文件名

python 复制代码
for root, dirs, files in os.walk('/path/to/directory'):
    for file in files:
        print(os.path.join(root, file))

2. shutil 模块:高级文件操作

shutil 模块提供了更高级的文件操作,包括文件复制、移动、删除等功能。

示例 3:复制文件夹及其内容

python 复制代码
import shutil

source = '/path/to/source_folder'
destination = '/path/to/destination_folder'

shutil.copytree(source, destination)

3. sys 模块:与 Python 解释器交互

sys 模块提供了与 Python 解释器交互的功能,可访问解释器相关的变量和函数。

示例 4:获取命令行参数

python 复制代码
import sys

arguments = sys.argv
print("Command Line Arguments:", arguments)

4. pathlib 模块:面向对象的路径操作

pathlib 模块提供了面向对象的路径操作,使得路径处理更加直观和易用。

示例 5:路径拼接和文件操作

python 复制代码
from pathlib import Path

file_path = Path('/path/to/directory') / 'file.txt'
print("File Exists:", file_path.exists())

# 读取文件内容
if file_path.exists():
    with open(file_path, 'r') as file:
        content = file.read()
        print("File Content:", content)

5. subprocess 模块:调用外部命令

subprocess 模块允许在 Python 中调用外部命令,执行系统命令并获取输出。

示例 6:执行系统命令并获取输出

复制

python 复制代码
import subprocess

result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print("Command Output:", result.stdout)

以上示例展示了 Python 中文件处理和系统相关模块的一些基本功能和用法。这些模块提供了广泛的功能,使得文件和系统操作变得更加简单和灵活。

相关推荐
人机(未转人工)33 分钟前
python 批量测试ip是否能ping( 多线程 )
python
cndes38 分钟前
安装Miniconda+Jupyter notebook
ide·python·jupyter
Patrick在香港1 小时前
Python 拉取城巴开放数据:406 条路线,香港岛巴士网络的数字画像
网络·python·数据分析·php·数据可视化·香港·开放数据
for_ever_love__1 小时前
python基础语法学习: 正则表达式
python·学习·正则表达式
aiqianji1 小时前
功能全面的教AI短篇小说写作的软件都有哪些?
人工智能·python
轮到我狗叫了1 小时前
Slurm如何使用
人工智能·python·深度学习·机器学习
Ali885202 小时前
Python列表增删改查速查表和详细演示
python
新时代牛马2 小时前
softirq 与tasklet:从irq_exit 到__do_softirq 的下半部路径
python
tqs_123452 小时前
值传递与引用传递
java·开发语言·python
YsyaaabB2 小时前
Deep Agents 实战课程
python·langchain