Python
python:使用特定目錄中的glob
我正在使用 glob 函式載入
#make a list from pdb filles located in the same directory as this python script pdb_list = glob.glob('*.pdb') # do something on each pdb file for pdb in pdb_list: some_variable = some_function(pdb)
我如何使用 glob 的特定路徑,例如直接從某個特定子目錄載入所有這些 pdb 填充,這些子目錄與我的 python 腳本位於同一位置,然後返回到初始目錄(以產生一些輸出)?
The one way that I found is to use # change current directory to ./pdb os.chdir("pdb")
然而,在這種情況下,一切(包括結果的保存)都將發生在這個包含所有初始 PDB 填充的目錄中。是否可以指示 glob 在 pdb 文件夾中查找填充但始終保持在初始位置?
glob
也適用於相對路徑,因此您可以簡單地使用pdb/*.pdb
它並且它將起作用 -glob
將返回相對於您目前目錄的結果:>>> glob.glob('test/*.txt') ['test/c.txt', 'test/b.txt', 'test/a.txt']
如果你需要沒有目錄的結果,你總是可以
os.path.basename
用來獲取文件名:>>> [os.path.basename(p) for p in glob.glob('test/*.txt')] ['c.txt', 'b.txt', 'a.txt']