我将使用 Python 备份位于 Windows 7 机器中的目录。我需要尽可能地压缩它。我还没有决定采用哪种压缩方式。
主要问题是目录包含数百个级联文件/目录,因此在路径+文件名的总共 255 个字符之后我看不到里面。此目录结构由第 3 方软件创建。
只是为了快速测试,我为文件夹生成(模拟)编写了以下内容;
start = time.time()
end = time.time() - start
root_dir = 'C:\test'
os.chdir("C:\test")
iterate = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
while (end<1):
end = time.time() - start
os.system("mkdir " + str(iterate))
os.chdir(root_dir + "\\" + str(iterate))
root_dir = os.getcwd()
结果在这个;
The filename or extension is too long.
Traceback (most recent call last):
File "folder_generate.py", line 21, in <module>
os.chdir(root_dir + "\\" + str(iterate))
WindowsError: [Error 2] The system cannot find the file specified: 'c:\\Python27
\\ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ABCDEFGHIJKLMNOPQRSTUV
WXYZ\\ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ABCDEFGHIJKLMNOPQR
STUVWXYZ\\ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ABCDEFGHIJKLMN
OPQRSTUVWXYZ'
正如在另一个问题中指出的那样,但没有明确回答。
我有一个快速测试代码,用于浏览目录内容;
fileList = []
fileSize = 0
folderCount = 0
rootdir = "c:\\test"
for root, subFolders, files in os.walk(rootdir):
folderCount += len(subFolders)
for file in files:
f = os.path.join(root,file)
fileSize = fileSize + os.path.getsize(f)
fileList.append(f)
print("Total Size is {0} bytes".format(fileSize))
print("Total Files ", len(fileList))
print("Total Folders", folderCount)
结果是 ;
Total Size is 0 bytes
('Total Files ', 0)
('Total Folders', 9)
无论测试文件夹中有多少个文件夹。有趣的是我可以通过资源管理器无缝浏览和创建 9.folder 之后的新文件夹。
我不太喜欢wind0z,因此如果有经验的用户能帮助我克服这个问题,我将不胜感激。
只需归档一个很长的目录。