Skip to content

Latest commit

 

History

History
106 lines (69 loc) · 1.98 KB

22.文件操作模块.md

File metadata and controls

106 lines (69 loc) · 1.98 KB

文件操作修改模块

1.os模块

# 对于os模块而言,最为常用的就是path路径操作
import os

file_path = os.path.abspath(__file__) # 获取当前文件的全路径
print(file_path)

dir_path = os.path.dirname(file_path) # 获取当前文件的目录全路径
print(dir_path)

xkd_path = os.path.join(dir_path, 'xkd') # 拼接路径
print(xkd_path)

file_name = os.path.basename(file_path)  # 获取文件名
print(file_name)

tuple_path = os.path.split(file_path)  # 获取目录和文件名
print(tuple_path)

2.pathlib模块

# 3.4版本后引入了pathlib模块
from pathlib import Path

path = Path()
print(path)  # 显示当前目录

path1 = Path('var', 'log', 'message') # 路径初始化
print(path1)

path2 = Path('/var', 'log', 'message') # 路径初始化
print(path2)

path3 = path2.joinpath('message.log') # 路径拼接 /var/log/message/message.log
print(path3)

path4 = path3.parent  # 返回目录路径
print(path4)

path5 = path3.parents  # 返回一个对象
print(path5)
for i in path5:
    print(i)
    
print(path3.name)  # message.log

print(path3.suffix) # 扩展名
print(path3.suffixes) # 扩展名列表

print(path3.cwd()) # 当前目录

objs = path3.parent.parent.glob('*.log')  # 匹配目录下面以.log结尾的文件
for i in objs:
    print(i)

3.sys模块

import sys
from pprint import pprint

print(sys.argv[0])  # 当前文件路径
print(sys.argv.__len__() -1)  # 参数个数
print(sys.argv[1]) # 第一个参数

print(sys.path)  # Python的搜索路径

4.shutil模块

import shutil
# ./monitor.py 源文件
shutil.copy('./monitor.py', 'hello.py')  # 类似于Linux系统的copy

5.copy模块

import copy

lst = [123,12,[12,13]]
lst.copy()

# 浅拷贝
string1 = copy.copy('abc')
print(string1)

# 深拷贝
string2 = copy.deepcopy('abc')
print(string2)