[問題] Mac用程式改AV片名改到檔案不見

作者: kiwistar (神汁手)   2020-08-31 12:39:07
最近整理謎片時有一堆需要重新命名的檔案
片名大概是ssni-157、ABP-990這樣
寫了一個程式去網站上爬出片名以後,再修改檔案名稱變成
"ABP-990 松岡すずの極上筆おろし 37 奇跡の淫女が2作目にして筆おろしセックスに
挑戦!"
這樣的完整名稱
程式碼如下:
https://bit.ly/2QU25ON
執行時我觀察到iterator一開始在遍歷檔案的時候會按照開頭字母順序,但只會先看大
寫的檔名(如:MIDE-765),小寫檔名的會被跳過(如apkh-131)。
後來就放著讓他跑,睡覺去了。醒來以後發現不太對,有些小寫字母開頭的檔案好像消
失了。對,沒錯!!直接被刪掉了!!
但又不是全部,有些小寫檔名的檔案是還在且有成功被重新命名的。
我在程式碼裡已經處理過大小寫的問題了,但求教各位大大為什麼檔案會消失呢?
作者: tsoahans (ㄎㄎ)   2020-08-31 13:03:00
有沒有可能video_name.text都抓到一樣的東西結果就覆寫掉 你應該先copy在rename比較保險
作者: kiwistar (神汁手)   2020-08-31 14:05:00
我後來發現不只小寫檔案被刪除,確切來說有一部分的檔案消失了,但不知道是哪一些
作者: TuCH (謬客)   2020-08-31 14:10:00
連結怪怪的 打不開
作者: TitanEric (泰坦)   2020-08-31 16:54:00
這個問題我想會需要檔案研究用
作者: kiwistar (神汁手)   2020-08-31 16:58:00
作者: OrzOGC (洞八達人.拖哨天王)   2020-08-31 18:24:00
這個問題我需要檔案來研究
作者: HuangJC (吹笛牧童)   2020-08-31 23:49:00
真了不起,寫程式做這種事 XDDDDiteration 裡,很忌誨邊改邊遞歸你的指標,因為不可預測舉例來說,如果寫個 for loop 說要由前往後刪一個字串一開始刪 string[0], 接著刪 string[1], 你覺得對嗎?剛才的 [1] 現在跑到 [0] 了,你到底要對誰動作呢?邊走邊改無法厘清你的行為,必需把你所有檔案寄到我家試試..順便寄包衛生紙來,我怕家裡的不夠,謝謝..
作者: TakiDog (多奇狗)   2020-09-01 00:03:00
我寫了一個打番號自動查自動載再上傳雲端,我都不知道我在幹嘛..我建議不要拿片名當檔名,有時候特殊字或是太長之類的問題很多,我是在產生一個json存檔名
作者: HuangJC (吹笛牧童)   2020-09-01 05:26:00
string 的例子你理解了?刪到 0,2,4,6 看來你是猜對了可是你知道檔案的 iteration 是什麼原則嗎?萬一是檔名排序,而你又改檔名,那造成的混亂比 string 還嚴重啊!除非你針對檔案建立 handle,而後不管檔名如何改變,handle不變,否則要怎麼 iteration 這些檔?
作者: chickengod (雞大俠)   2020-09-01 20:28:00
用檔名當 tag 用 id 當檔名 不然沒辦法避免奇怪字元的問題巴 說不定檔案沒不見 只是用 windows 檔案總管看不到 你裝 cygwin 去同個資料夾看看然後奇怪字元可以用 pat = re.compile(r'a|b', re.I)pat.sub('', input_text) 一次取代多種奇怪字元re.compile 放在迴圈外面 可以避免重複製造object
作者: Tenging (菜鳥)   2020-09-02 19:00:00
借轉av版
作者: skyconquer (梅郭曲)   2020-09-03 10:32:00
大家超熱心WWWW
作者: kiwistar (神汁手)   2020-09-03 13:41:00
回C大,我的OS是mac。然後我可能會再用空的資料夾實驗一下。處理特殊字元的確也很重要。
作者: HuangJC (吹笛牧童)   2020-09-04 01:14:00
其實你該做的是 hit rate, 播放率統計,然後把不愛看的刪掉.. 取檔名也該用自己的風格,比如人名系列,動作系列重點是要方便你搜尋
作者: kiwistar (神汁手)   2020-09-04 03:19:00
我以前會刪不愛看的,後來我發現我常常一兩年後突然想看當初被我刪掉過的片...後來就很少刪了,除非真的是outliers
作者: stillcolor (鬼艾倫)   2020-09-04 12:04:00
哈哈哈哈哈哈哈抱歉我從頭笑到尾!respect!
作者: wargods8402 (維尼X維尼)   2020-09-04 13:29:00
這有點難解釋 請先提供檔案
作者: TuCH (謬客)   2020-09-04 14:08:00
我懷疑是資料的問題 可以提供資料我幫你檢查看看
作者: HuangJC (吹笛牧童)   2020-09-04 14:38:00
用 move 到另一個子目錄的方法,目前這個子目錄漸漸清空這樣就絕不會重覆處理;處理時從後往前,比如刪字串,如如果你從最後一句往前刪,就不會有邊刪邊移動的問題凡是 iter 的都適用這原則,由後往前都不會出事..不然就是有的 compiler 會檢查並提醒你必需先 copy 一份handle,以 copy 的運作,就不會邊刪邊移動,否則會跳出錯誤訊息,通常用 consist 這字眼,指你的資料造成不一致..

Links booklink

Contact Us: admin [ a t ] ucptt.com