2013-08-22 20 views
36

joker karakter dosyaları kopyalayıp Şimdi ne çalışıyorum tüm kopyalamak için bupiton ben Python (Python 3) öğreniyorum

import shutil 
shutil.copyfile('C:/test/test.txt', 'C:/lol/test.txt') 

yaparak yeni bir dizine 1 dosya kopyalayabilirsiniz./C: C txt dosyaları/Test

* .txt içinde yineleme sonra eşleşen dosya adları listesini almak için benim sabit disk

cevap

9

Kullanım glob.glob() tüm metin dosyaları aramak ve bir joker olduğunu liste.

+2

damnit 2 saniye çok erken: ("* dat.") glob.glob içinde f : D –

+0

alma shutil, dest_dir = "\\ C": topak shutil.copy (f, dest_dir) – Johnny

48
import glob 
import shutil 
dest_dir = "C:/test" 
for file in glob.glob(r'C:/*.txt'): 
    print(file) 
    shutil.copy(file, dest_dir) 
-2

Çalışacağından emin olmak için önce python 2.7 testini kullanıyorum. Joker karakterini * kullandım çünkü tarihi tüm metin dosyalarına ekliyorum. filename1_2016_04_18.txt Ayrıca, bazı metin dosyalarının metin dosyasına eklenmiş farklı son kullanıcıları vardır. filename2_username.txt

import os, glob 

directorypath = 'C:\\Program Files\\Common Files' 
os.chdir(directorypath) 

files = ['filename1', 'filename2', 'filename3'] 
print ('A %(files)s'% vars()) 
for filename in files: 
    file1 = filename + "*" + "." + "txt"; print ('1 %(file1)s'% vars()) 
    file2 = ('%(file1)s') % vars(); print ('2 %(file2)s'% vars()) 
    file3=glob.glob(file2); print ('3 %(file3)s'% vars()) 
    for filename4 in file3: 
     try: 
      if os.path.isfile(filename4): 
        print ('I am deleteing this file %(filename4)s'% vars()) 
        os.remove(filename4) 
      else: ## Show an error ## 
        print("Error can not delete text file : %s because file not found" % filename4) 
     except OSError, e: ## if failed, report it back to the user ## 
       print ("Error: %s - %s." % (e.filename,e.strerror))