我正在嘗試從以下內容中提取基本名稱abcd.txt ,這是從對串列執行的連接操作中獲得的:
path = "my/python/is/working"
list = ["abcd","efgh","ijkl"]
path_of_each_file = [path "\\" x for x in list]
因此串列如下所示:
path[0] = ["my/python/is/working\\abcd.txt","my/python/is/working\\abcd.txt","my/python/is/working\\abcd.txt"]
我正在使用以下內容從串列的每個 ekement 中獲取基本名稱:
name_base = os.path.basename(path[0])
但我得到的輸出是:
name_base = working\\abcd.txt
我只需要abcd.txt作為我的基本名稱。
提前致謝
uj5u.com熱心網友回復:
如果我正確理解了您的問題,以下代碼應該可以幫助您:
path = "my/python/is/working"
list = ["abcd.txt","efgh.txt","ijkl.txt"]
path_of_each_file = [path "\\" x for x in list]
for i in range(len(path_of_each_file)):
print(os.path.basename(path_of_each_file[i]))
輸出:
abcd.txt
efgh.txt
ijkl.txt
uj5u.com熱心網友回復:
現代方式:
from pathlib import Path
path = Path("my/python/is/working")
flist = ["abcd.txt","efgh.txt","ijkl.txt"]
path_of_each_file = [path / x for x in flist]
for p in path_of_each_file:
print(p.name)
- 使用 pathlib 模塊實作可移植性。
list是串列物件的型別名,不推薦用作變數名。- “/”是連接 Path 物件的運算子。
- using
for elem in alist: ...更加pythonic。 np.name相當于os.path.basname(op)使用 pathlib 時。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/410764.html
標籤:
