使用Python创建日期命名文件夹并获取路径时遇TypeError问题求助
问题原因与解决方案
错误根源
os.mkdir()函数执行成功后返回None,你把它直接传给os.path.dirname(),相当于给这个函数传了空值,直接触发类型错误。另外你的逻辑也有偏差:你要的是新文件夹的绝对路径,而非它的父目录路径。
修正后的代码
from datetime import datetime import os today = datetime.now() date_str = today.strftime("%m-%d-%Y") # 用os.path.join拼接路径,自动适配不同系统的路径分隔符 new_folder_path = os.path.join(delovnaMapa, date_str) # 避免文件夹已存在时抛出报错 if not os.path.exists(new_folder_path): os.mkdir(new_folder_path) # 获取新文件夹的绝对路径 workingdir = os.path.abspath(new_folder_path) print(workingdir)
关键改进点
- 先拼接完整路径再创建文件夹,直接拿到目标路径,无需依赖
os.mkdir的返回值(它本身没有返回值)。 - 用
os.path.join替代字符串拼接,避免Windows/Linux路径分隔符不兼容的问题。 - 增加
os.path.exists判断,防止重复创建文件夹时抛出FileExistsError。 - 用
os.path.abspath确保最终得到绝对路径,不管原路径是相对还是绝对路径。
内容的提问来源于stack exchange,提问作者Timko99
相关产品推荐
相关产品推荐

