我正在使用一个Python脚本(在macOS Mojave上使用Python2.7),它列出目录中存在的文件,然后对它们执行一些操作。以下是12个DLG文件在workdir中的排列方式:
(base) Glebs-MacBook-Pro:1200_cne_lig177 gleb$ ls -t
1200_01_lig_cne_177.dlg 1200_05_lig_cne_177.dlg 1200_09_lig_cne_177.dlg
1200_02_lig_cne_177.dlg 1200_06_lig_cne_177.dlg 1200_10_lig_cne_177.dlg
1200_03_lig_cne_177.dlg 1200_07_lig_cne_177.dlg 1200_11_lig_cne_177.dlg
1200_04_lig_cne_177.dlg 1200_08_lig_cne_177.dlg 1200_12_lig_cne_177.dlg
这是python脚本的一部分,用于从这些DLG文件生成列表:
# make a list of dlg filles
dlg_list = glob.glob(directory + '/*.dlg'
print(dlg_list)
d = Docking()
# doing something on DLG
for dlg in dlg_list:
d.readDlg(dlg)
这是调用变量dlg_list时从glob获得的文件列表:
['/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_04_lig_cne_177.dlg',
'/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_12_lig_cne_177.dlg',
'/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_03_lig_cne_177.dlg',
'/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_02_lig_cne_177.dlg',
'/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_05_lig_cne_177.dlg',
'/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_07_lig_cne_177.dlg',
'/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_11_lig_cne_177.dlg',
'/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_08_lig_cne_177.dlg',
'/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_06_lig_cne_177.dlg',
'/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_10_lig_cne_177.dlg',
'/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_09_lig_cne_177.dlg',
'/Users/gleb/Desktop/scripts/analys_clusters/sub_folders_to_analyse/7000_cne_lig177.AllBoxes/7000_01_lig_cne_177.dlg']
可以看出,DLG文件的计数(每个文件名称中7000_uu之后的数字)是:1200_04、1200_12、1200_03
在此之前,我使用了旧版本的macOS(El Capitan),并使用完全相同的Python版本运行相同的脚本,以正确的方式从01到12排列DLG文件
如果OSX和glob排序的工作方式不同,我无法解释为什么会发生这种情况。如何解决glob的问题
您可以对
dlg_list
进行排序例如:
输出:
您可以在
sorted()
方法的自定义键中使用str.split()
方法:相关问题 更多 >
编程相关推荐