312347.png

f7c34156

到底是怎么做到的,文件夹名字以空格结尾?

论坛里从某位老哥的帖子里下了一个文件PROJECT 16 .rar
很明显压缩文件的尾巴有个空格,这种情况下解压出来得到的PROJECT 16目录会自动去掉尾巴上的这个空格
但野路子的python程序猿-我-写了个自动递归解压的程序,结果得到了一个非常离谱的目录:
...\PROJECT 16 \1
这个目录tmd是以空格结尾的,并且尝试重命名--取消,然后这空格还在
在里面创建新目录1,然后1的路径里就很明显得显示了这个空格结尾的目录

涉及到这个目录名字的代码:
objectpath = os.path.splitext(file)[0]   # file是压缩文件绝对路径
解压部分是subprocess调用7z.exe和unrar.exe(7z有时候无法解压rar文件)

这操作居然还能弄出一个空格结尾的目录来?

312347.png

f7c34156

cao
我刚打算删了这个目录一了百了
然后显示"找不到该项目"

小帆


805893.jpg

东方赤鬼

B3F  2024-04-27 15:29
(panda or pandora)
有名字结尾空格的文件夹删除很麻烦

帧舔王


none.gif

cyberzhang

7z的文件浏览系统会绕过windows的一堆限制,不过我记得7z不是自动会用_代替末尾空格么...
既然是7z造出来的,直接进7z就能删了.

312347.png

f7c34156

回 5楼(cyberzhang) 的帖子

我是默认用7z解压
但是有一种情况就是某些上传者用的rar压缩的,然后他们的rar版本很奇怪,我用7z就算密码正确也会失败,用rar才能成功
于是我就只能写两个密码循环,如果7z无法解压就用rar试一试,如果rar还不行就说明密码不对或者文件损坏
我也不知道怎么造成的这个空格结尾,我甚至在里面新建了个空目录也没报错
就是打算删除它的时候提示目录不存在
最后我用360粉碎掉了

726521.png

kujisanfun

B7F  2024-04-28 09:21
(cc)
不知道,解压前先对文件名strip()处理呢