没想到写个10行的程序都能花上一天

Jarin-avatar

Jarin

2021-02-14T15:05:30+00:00

[img]https://img.nga.178.com/attachments/mon_202102/22/-7Qj03-2t3fKmT3cSie-4y.jpg.medium.jpg[/img]

初学者准备自用,就这么点玩意,网上找的基础代码,结果测了好几个小时终于改成功了,都快吐血了[s:ac:哭1]

作用就只是找含特定字符(有很多种)的文件夹删掉(纯文件的话找的代码能直接用,文件夹就不行)
结果测来测去,总是报错(网上用的是递归,估计删过一次再进循环文件没了就报错了)
问了学CS的朋友思路怎么搞,也不愿意帮我[s:ac:瞎] 最后自己又捣鼓了几个小时把递归删了改成遍历终于解决了
感觉写代码真的耗脑子[s:a2:不活了]

[img]https://img.nga.178.com/attachments/mon_202102/22/-7Qj03-cxhrKhT3cSkm-6z.jpg.medium.jpg[/img]
这个是网上找的
C9WaduHek-avatar

C9WaduHek

你们这两个作用完全不一样。你的是删除某个文件夹下的所有带特定字符的文件夹,不包括子文件夹。他的是删除某个文件夹下的所有带特定字符的文件,包括子文件夹。
Jarin-avatar

Jarin

Reply to [pid=495175188,25645689,1]Reply[/pid] Post by [uid=8790377]素年已逝[/uid] (2021-02-22 23:16)直接百度没找到需要我那功能的代码,只能找个接近的改,结果一改就是一堆错误[s:a2:自戳双目]
C9WaduHek-avatar

C9WaduHek

Reply to [pid=495175785,25645689,1]Reply[/pid] Post by [uid=18158255]闪之离子[/uid] (2021-02-22 23:18)
他这个很接近啊
如果是文件夹,遍历文件夹下的子文件夹和文件;否则(是文件),判断并删除。
你只要改成
如果是文件夹,判断并删除,否则,遍历文件夹下的子文件夹和文件;否则(是文件),判断并删除。
就可以同时删除文件夹和文件了
如果不需要删除文件,那把删除文件的判断删了就行了,递归还是能用得上
当然最后还是要根据实际出发,如果你本来就只有一层,不需要处理子文件夹,那确实用不着递归
Jarin-avatar

Jarin

Reply to [pid=495178070,25645689,1]Reply[/pid] Post by [uid=8790377]素年已逝[/uid] (2021-02-22 23:30)具体用递归的时候,会出现因为循环里删过一次,结果循环没跳出来(试了break和continue 都不行)会删第二遍结果目录没了报错跳出
[s:a2:偷吃]因为不精通,感觉大概是这个原因,怎么造成的不知道,就卡这里卡了几小时
RealBoyK-avatar

RealBoyK

我觉得这种东西用正则+管道就可以解决了吧。
TOMBO1389-avatar

TOMBO1389

遍历存所有文件和文件夹

正则匹配名称,不通过删除… [s:ac:呆]

分2步不很简单吗
Jarin-avatar

Jarin

Reply to [pid=495179783,25645689,1]Reply[/pid] Post by [uid=42973749]别踢我正经奶[/uid] (2021-02-22 23:38)[s:a2:冷]我只是个初学者,根本不懂这些东西
Jarin-avatar

Jarin

Reply to [pid=495180334,25645689,1]Reply[/pid] Post by [uid=62651811]一颗芝麻糕[/uid] (2021-02-22 23:41)[s:a2:偷吃]我心里想的就是遍历文件夹+不匹配删除2部完成,但是我又不知道该怎么直接写,只能靠百度
百度出来哪个接近就按哪个改,结果就绕远路了
CursedShadow-avatar

CursedShadow

哈哈哈突然想起来其实有些算法也就几行而已,但是对新手来说看懂还是挺难的。
Zareow-avatar

Zareow

嵌入过深……cr不通过[s:ac:瞎]
RichMedicYT-avatar

RichMedicYT

我想起那个如果让程序员写数学书的梗图了,就是1+1=2那个
我看所有的编程书都有种刚学会走路然后让你做三级跳的感觉[s:ac:哭笑]