下面我将详细讲解一下“Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析”的完整攻略。
1. os模块
1.1 os模块简介
os模块是Python的内置模块之一,主要用于与操作系统进行交互,并提供了许多处理文件和目录的方法。在大多数操作系统中,os模块提供了与操作系统底层交互的接口。
1.2 os模块常用方法介绍
1.2.1 获取文件信息
获取文件信息可以使用os.path模块中的一些方法。
import os
## 判断文件是否存在
os.path.exists('/path/to/file')
## 获取文件大小
os.path.getsize('/path/to/file')
## 获取文件创建时间和修改时间
os.path.getctime('/path/to/file')
os.path.getmtime('/path/to/file')
1.2.2 文件操作
对于文件的操作在os模块中有许多方法:
## 读取文件内容
with open('/path/to/file', 'r') as f:
contents = f.read()
## 写入文件内容
with open('/path/to/file', 'w') as f:
f.write('Hello World!\n')
## 重命名文件或目录
os.rename('/path/to/old', '/path/to/new')
## 删除文件
os.remove('/path/to/file')
1.2.3 目录操作
对于目录的操作也有许多方法:
## 创建目录
os.makedirs('/path/to/dir')
## 删除目录
os.rmdir('/path/to/dir')
## 遍历目录下的文件和子目录
for root, dirs, files in os.walk('/path/to/dir'):
for file in files:
print(os.path.join(root, file))
for dir in dirs:
print(os.path.join(root, dir))
1.3 os模块示例
1.3.1 获取文件夹下所有文件名
import os
def get_all_files(path):
all_files = []
for root, dirs, files in os.walk(path):
for file in files:
file_path = os.path.join(root, file)
all_files.append(file_path)
return all_files
if __name__ == '__main__':
files = get_all_files('/path/to/dir')
print(files)
1.3.2 复制文件夹
import os
import shutil
def copy_dir(src_path, dst_path):
if not os.path.exists(src_path) or not os.path.isdir(src_path):
return
if os.path.exists(dst_path):
shutil.rmtree(dst_path)
shutil.copytree(src_path, dst_path)
if __name__ == '__main__':
copy_dir('/path/to/src', '/path/to/dst')
2. sys模块
2.1 sys模块简介
sys模块也是Python的内置模块之一,它提供了与Python解释器和Python运行环境交互的接口,包括命令行参数、标准流的重定向、错误输出等。
2.2 sys模块常用方法介绍
2.2.1 命令行参数
获取命令行参数的方法非常简单:
import sys
args = sys.argv
其中,args是一个列表,包含了所有的命令行参数。
2.2.2 标准流和错误输出
标准流的重定向可以通过sys.stdin、sys.stdout、sys.stderr等属性实现:
import sys
## 重定向标准输出流
sys.stdout = open('/path/to/output', 'w')
## 重定向标准错误输出流
sys.stderr = open('/path/to/error', 'w')
2.3 sys模块示例
2.3.1 输出Python版本信息
import sys
print(sys.version_info)
3. shutil模块
3.1 shutil模块简介
shutil模块也是Python的内置模块之一,提供了一些高级的文件和文件夹操作方法。
3.2 shutil模块常用方法介绍
3.2.1 文件操作
shutil模块提供了一些高级的文件操作方法:
## 复制文件
shutil.copy('/path/to/src', '/path/to/dst')
## 移动文件
shutil.move('/path/to/src', '/path/to/dst')
## 重命名文件或目录
shutil.move('/path/to/old', '/path/to/new')
3.2.2 目录操作
## 复制整个目录树
shutil.copytree('/path/to/src', '/path/to/dst')
## 移动整个目录树
shutil.move('/path/to/src', '/path/to/dst')
## 删除目录树
shutil.rmtree('/path/to/dir')
3.3 shutil模块示例
3.3.1 压缩文件夹
import shutil
def compress_dir(src_dir, dst_file):
shutil.make_archive(dst_file, 'zip', src_dir)
if __name__ == '__main__':
compress_dir('/path/to/dir', '/path/to/archive.zip')
3.3.2 解压缩文件
import shutil
def decompress_file(src_file, dst_dir):
shutil.unpack_archive(src_file, dst_dir)
if __name__ == '__main__':
decompress_file('/path/to/archive.zip', '/path/to/dir')
以上就是本次“Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析”的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析 - Python技术站