文件路径

import glob
import os

basic = os.path.abspath(__file__)  # 当前文件的绝对路径
parent = os.path.dirname(basic)  # 当前文件的目录
parent = os.path.dirname(__file__)  # 获取当前文件所在目录
# target = os.getcwd()  # 获取工作目录,结果会随着调用位置而改变
target = os.path.join(parent, "strategy")

if not os.path.exists(target):
    os.mkdir(parent)

target = os.path.join(target, "*strategy*.py")  # 路径拼接
t_dir = glob.glob(target)  # 模糊匹配当前目录下所有"*strategy*.py"文件,返回类型为list
for i in t_dir:
    print(os.path.dirname(i))  # 打印文件路径
    print(os.path.basename(i))  # 打印文件名
    print(os.path.split(i))  # 分隔路径和文件名,返回类型为tuple

# 参考资料:https://www.runoob.com/python/python-os-path.html

# python3.4加入的标准库
from pathlib import Path

# 创建一个指向当前目录的Path对象,即pwd
path = Path(".")

# 创建一个指向绝对路径的Path对象
absolute_path = Path(basic)

# 使用Path对象的方法进行操作
print(path.resolve())  # 打印绝对路径
print(path.resolve().as_posix()) # 转为字符串,适用于跨平台路径
print(path.resolve().parent)  # 打印父级路径
print(path.exists())  # 检查路径是否存在
print(list(path.glob('*.py')))  # 模糊查询当前目录所有.py文件

dirs = path.resolve().parent.rglob("*strategy*.py")  # find ./ -name "*strategy*.py",当前目录及其所有子目录中递归地搜索
for i in dirs:
    print(i)

# Path的路径拼接方式
# 使用 / 连接路径
tmp1 = path.resolve().parent / "dp_browser"
# 使用 joinpath 方法连接路径
tmp2 = tmp1.joinpath("strategy", "strategy.py")
# 改变文件名
tmp3 = tmp2.with_name("strategy.txt")
# 改变文件后缀
tmp4 = tmp3.with_suffix(".py")
print(tmp4)