zip文件夹很少有pdf文件,它们的名称格式为October 1, 1970.pdf
、March 27, 1995.pdf
等
我想在python中将每个文件的格式更改为YYYY-MM-DD
import datetime
date1 = "/Users/akshitarora/Downloads/Akshitpythoncole/"
datetime = datetime.datetime.strptime(date1, "%m-%d-%Y")
print(datetime.strftime("%m-%d-%Y"))
错误:
ValueError: time data '/Users/akshitarora/Downloads/Akshitpythoncole/'
does not match format '%m-%d-%Y'
你有两个错误。你知道吗
第一:您有文件夹名,但它不会从文件夹中获取文件名。必须使用
os.listdir()
或glob.glob(...)
才能获得它。你知道吗接下来必须使用loop分别更改每个文件名。你知道吗
第二:日期
October 1, 1970
不适合格式%m-%d-%Y
,但适合%B %d, %Y
。你知道吗当您使用
strptime(name, "%B %d, %Y")
时,不要忘记删除文件扩展名。或者使用"%B %d, %Y.pdf"
格式的扩展名。格式化新名称"%m-%d-%Y.pdf"
时也可以使用扩展名当您要更改名称-
using os.rename()
-您必须记住,您必须将文件夹添加到文件名以创建完整路径-os.path.join(folder, filename)
我没有测试它(因为我没有这个文件夹和这些文件),但它应该可以工作
顺便说一句:使用名为
datetime
的变量不是一个好主意,因为您使用的模块具有相同的名称datetime
,并且使用此名称的变量您没有访问模块的权限。你知道吗编辑:名称“October 1,1972 A.pdf”、“October 1,1972 B.pdf”有问题
我检查name是否有3个空格,然后在最后一个空格将其拆分以获得包含部分的列表
['October 1, 1972', 'A.pdf']
。现在我可以转换第一部分中的日期,然后将其与第二部分连接以创建名称10-01-1972 A.pdf
导入操作系统 导入日期时间
文件名=操作系统列表目录(文件夹)
对于文件名中的名称:
相关问题 更多 >
编程相关推荐