问题是使用python创建多个目录时windows中路径的字符限制os.makedirs()
在发布此问题之前,我在搜索我的问题时发现了此帖子:
现在选择的答案建议了前缀解决方法,但我的问题是,有没有办法确保 Windows 和 UNIX 中的功能?
我想到的另一种方法是一个一个地创建文件夹,然后创建文件,这样你就永远不会超过路径长度,但我无法弄清楚代码中的明显错误。
path = ['folder1/s1/s1/abc.txt',
'folder1/s1/s2/def.txt']
def makedirs(path):
explode = path.split('/')
for i in range(len(explode)-1):
os.mkdir(explode[i])
os.chdir(explode[i])
if i == len(explode) -2:
download_file(explode[i+1])
# something to go back here
os.chdir('../' * (len(explode)-3)) # ??
makedirs(path[0])
现在这只适用于第一行,因为我不知道如何回到根目录或重置它。如果没有“重置”,文件夹就在彼此之下:
folder1/s1/s1/folder1/s1/s1/abc.txt
(或类似的东西)
我可以设置从根目录的路径来重置它,但是我们可能会遇到同样的问题,即达到最大长度。任何有关如何使其在两个操作系统上工作的帮助都将不胜感激!
请随时指出我错在哪里。