pathlib文件路径处理

📅 2026/7/22 9:56:53 👁️ 阅读次数 📝 编程学习
pathlib文件路径处理

1、文件名和文件后缀

print(f'ledgerpath.stem:{ledgerpath.stem}')

print(f'ledgerpath.suffix:{ledgerpath.suffix}')

edgerpath.stem:周报数据数据业务卡顿统计-台账

ledgerpath.suffix:.xlsx

2、完成文件路径

print(f'ledgerpath.__str__(), pth_base_bak.__str__():{ledgerpath.__str__()},{pth_base_bak.__str__()}')

ledgerpath.__str__(), pth_base_bak.__str__():D:\工作交接、数据卡顿\数据卡顿周报工具\周报数据数据业务卡顿统计-台账.xlsx,D:\工作交接、数据卡顿\数据卡顿周报工具\周报数据数据业务卡顿统计-台账-bak-20251229144437.xlsx

3、字符串分列取列

weekstr ='20251213-20251219'

a、取倒数第一列

print(f'weekstr.split("-")[-1]{weekstr.split("-")[-1]}')

weekstr.split("-")[-1]:20251219

b、取第二列

print(f'weekstr.split("-")[1]{weekstr.split("-")[1]}')

weekstr.split("-")[1]:20251219

4、查找文件夹下文件,找到同名文件返回文件完整路径

datapath = pathlib.Path(f'D:\工作交接\\1、数据卡顿\数据卡顿周报工具\大观数据')
dataname=
'数据卡顿小区详表_统计周期_质差小区'
#union_badcells(ledgerwb, '卡顿小区', datapath, '数据卡顿小区详表_统计周期_质差小区', weekstr, weeknum)
#union_badcells(ledgerwb, ledgersheetname, datapath, dataname, weekstr, weeknum)

pth = datapath.glob(f'{dataname}({weekstr}).csv').__next__()
print(f'pth:{pth}')

pth:D:\工作交接\1、数据卡顿\数据卡顿周报工具\大观数据\数据卡顿小区详表_统计周期_质差小区(20251213-20251219).csv

weekstr ='20251213-20251219'

ledgerpath = pathlib.Path(f'./周报数据/数据业务卡顿统计-台账.xlsx')
timestamp = datetime.datetime.now().strftime(
"%Y%m%d%H%M%S")
pth_base_bak = ledgerpath.parent /
f'{ledgerpath.stem}-bak-{timestamp}{ledgerpath.suffix}'
ifledgerpath.exists():
shutil.copy(ledgerpath.
__str__(), pth_base_bak.__str__())
_week = datetime.datetime.strptime(weekstr.split(
'-')[-1],'%Y%m%d').isocalendar()
weeknum =
f'{_week[0]}{_week[1]:02d}'
datapath = pathlib.Path(f'./大观数据')
pubdatapath = pathlib.Path(
f'./公共数据')
ledgerwb = Workbook(ledgerpath)