2015-12-13 88 views
1

我需要將一個包含一些字符串的文件,稱爲mystring,將文件名從一個目錄複製到另一個目錄。目前我使用複製python文件名中某個字符串的文件

for file in glob.glob(FileNameM): 
     shutil.copy(file, dest); 

其中dest爲目標目錄和

FileNameM = source_directory + some_known_string + mystring + "*" 

此代碼工作正常時,只有mystring後的延伸,但如果有別的東西加上一個擴展的代碼失敗。

FileNameM的作品:

/home/eugene/GDrive/Project-related/Skyrmion_Lattice_Output/Output_Good_Enough/Parameters__triangular_N_225_kappa_1.0_beta_0.11_a_3.63311050137* 

,並導致文件

/home/eugene/GDrive/Project-related/Skyrmion_Lattice_Output/Output_Good_Enough/Parameters__triangular_N_225_kappa_1.0_beta_0.11_a_3.63311050137.dat 

FileNameM不起作用:

/home/eugene/GDrive/Project-related/Skyrmion_Lattice_Output/Output/Parameters__triangular_N_225_kappa_1.0_beta_0.12_a_3.6341634222* 

,這將導致文件

/home/eugene/GDrive/Project-related/Skyrmion_Lattice_Output/Output/Parameters__triangular_N_225_kappa_1.0_beta_0.12_a_3.63416342223.dat 

你有什麼想法我該怎麼改進?

+0

您能否展示一個有效的路徑示例和一條不會幫助重現問題的路徑示例? –

+0

向主體添加了示例 –

回答

2

我只是你的榜樣文件名嘗試過了,通過glob.glob()了兩個文件名稱,甚至缺少更多的字符:

import glob 
    FileNameM = 'test\Parameters__triangular_N_225_kappa_1.0_beta_0.12_a_3.6341634*' 
    for file in glob.glob(FileNameM): 
     print(file) 
# test\Parameters__triangular_N_225_kappa_1.0_beta_0.12_a_3.63416342223.dat 

在Windows上運行;虛擬文件位於腳本旁邊的子文件夾test中。

相關問題