2015-12-13 41 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中。

相关问题