gpt4 book ai didi

python - 重命名和压缩文件 Python - FileNotFoundError

转载 作者:行者123 更新时间:2023-12-01 07:42:46 26 4
gpt4 key购买 nike

刚刚回到Python,我正在尝试构建一个脚本来匹配文件名,重命名,压缩它们,然后最终构建一个控制文件(我还没有写过)。它适用于放置在目录中的文件,但最后我收到错误: FileNotFoundError: [WinError 2] 系统找不到指定的文件:'A20190331.txt' -> 'B20190530.txt'。重命名后是否在开始时重新运行我的 txt_files for 循环?此时代码可能不是最佳的。

import os
import zipfile

try:
import zlib
compression = zipfile.ZIP_DEFLATED
except:
compression = zipfile.ZIP_STORED




path = 'mypath'

txt_files = []
for root, dirs, files in os.walk(path):
for file in files:
txt_files.append(file)


def create_zip(data_dt):
for files in txt_files:
if '.py' in files:
continue
elif 'A' in files:
file_name = 'A' + data_dt + '.txt'
name_full_path = path +'\\'+ file_name
os.rename(files, file_name)
zf = zipfile.ZipFile('A' + data_dt+ '.zip', mode='w')
zf.write(name_full_path, file_name, compress_type=compression)
zf.close()
elif 'B' or 'C' in files:
file_name = 'B' + data_dt + '.txt'
name_full_path = path +'\\'+ file_name
os.rename(files, file_name)
zf = zipfile.ZipFile('B' + data_dt +'.zip', mode='w')
zf.write(name_full_path, file_name, compress_type=compression)
zf.close()
else:
break

create_zip('20190530')

最佳答案

克里斯托弗。

我立即看到您的问题:

txt_files = []
for root, dirs, files in os.walk(path):
for file in files:
txt_files.append(file)

我相信你想保留这条路:

for root, dirs, files in os.walk(path):
for file in files:
txt_files.append(os.path.join(os.path.get_cwd(), file))

让 os.path 为您处理路径——它可以跨平台移植并且不易出错。

关于python - 重命名和压缩文件 Python - FileNotFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56612285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com