我有一個名為 "mp3.txt "的檔案,內容如下:
我有一個名為 "mp3.txt "的檔案。
1.mp3
2.mp3
3.mp3
4.mp3
5.mp3
讀取 "mp3.txt "的Python代碼,并為每一行創建一個新檔案:
from pathlib import path
with open("mp3.txt"/span>, "r"/span>) 作為檔案。
for line in file.readlines() 。
Path(line).touch()
結果:
1./span>mp3? 3.mp3? 5.mp3?
2.mp3? 4.mp3?
我只在從檔案中讀取時遇到了這個問題。如果我從一個list()而不是檔案中做同樣的事情,就像這樣:
我只在從檔案中讀取時遇到這個問題。
from pathlib import path
l = ["1.mp3"/span>, "2.mp3"/span>, "3. mp3"/span>, "4.mp3"/span>, "5.mp3"/span>]
for i in l:
Path(i).touch()
輸出看起來很好:
1.mp3 2. mp3 3.mp3 4.mp3 5.mp3
是的,我確實嘗試過將檔案的內容追加到一個list()中:
from pathlib import Path
l = []
with open("mp3.txt"/span>, "r"/span>) 作為檔案。
for line in file.readlines():
l.append(line)
for i in l:
Path(i).touch()
而且檔案名中的"? "仍然被附加。檔案中沒有任何關于這種型別的行為的內容。
uj5u.com熱心網友回復:
Strip字串(檔案名)。你在每個檔案名后面的 "新行 "導致?成為由Path創建的檔案的一部分
from pathlib import Path
with open("mp3.txt"/span>, "r"/span>) 作為檔案。
file_names = [line.strip() for line in file.readlines() ]
for file_name in file_names:
Path(file_name).touch()
uj5u.com熱心網友回復:
根據答案,我想出了這個辦法:
from pathlib import path
with open("mp3.txt"/span>, "r"/span>) 作為檔案。
for line in file.readlines() 。
new = line.strip()
Path(new).touch()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/310457.html
標籤:
下一篇:洗掉.jar擴展名
