创建一个脚本,该脚本将自动处理当天的文件路径,执行某些操作,然后保存到同一目录。
文件夹结构基于日期:
maindir
- > year
- > month
- >那个月的文件。
到目前为止,我的方法是:
year = time.strftime("%Y")
month = time.strftime("%B")
dir = parse('C:\maindir' + '\' + str(year) + '\' + str(month))
os.chdir(dir)
但是,我希望稍后将其与os.makedirs
重复使用,以便在我去的时候自动生成文件夹结构。
或者最好制作一个解析dir路径的方法,以便我可以调用它:
if not os.path.exists(method):
try:
os.makedirs(os.path.dirname(method))
更新
发现这个讨论有很多帮助 - constructing absolute path with os.join()
netdrive="\\network.com\mainfolder$"
year = time.strftime("%Y")
month = time.strftime("%B")
path=path.abspath(path.join(os.sep,netdrive,year,month))
if not os.path.exists(path):
os.makedirs(path)
os.chdir(path)
所以,我已经在这方面取得了一些进展 - 但是,现在我遇到了识别网络驱动器的问题,因为目前它使用C:/
默认值作为path.abspath
的一部分。如何将其覆盖到新的根驱动器,而不依赖于驱动器映射到的驱动器?一个用户D:/
,第二个E:/
- 等等
答案 0 :(得分:1)
由于路径仅包含年份和月份,因此目录平均连续30天保持不变。
因此,在创建目录之前,最好先检查目录是否已存在。
if not os.path.exists(directory):
os.makedirs(directory)