# 对于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)
# 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)
import sys
from pprint import pprint
print(sys.argv[0]) # 当前文件路径
print(sys.argv.__len__() -1) # 参数个数
print(sys.argv[1]) # 第一个参数
print(sys.path) # Python的搜索路径
import shutil
# ./monitor.py 源文件
shutil.copy('./monitor.py', 'hello.py') # 类似于Linux系统的copy
import copy
lst = [123,12,[12,13]]
lst.copy()
# 浅拷贝
string1 = copy.copy('abc')
print(string1)
# 深拷贝
string2 = copy.deepcopy('abc')
print(string2)