Da es sich bei der Zieldatei um Pfadinformationen handelte, wurde im Voraus nur der Dateiname erfasst.
py:os.path.basename
file_name = os.path.basename(txt_fle_line)[:-1]
XCOPY Ich habe auch versucht, XCOPY vorübergehend mit "subprocess.call" zu verwenden. Ich musste mich auch bewegen, also entschied ich mich für die Vielseitigkeit von Shutil.
subprocess.call
import subprocess
subprocess.call("xcopy %s %s /D /K /R /Y /C /V /E"%(file_path, send))
Da wir das neue zum Zeitpunkt des Updates übernommen haben, haben wir uns Zeit genommen und es verglichen.
shutil.py
if os.path.exists(rename_file) :
copy_date = os.stat(rename_file).st_mtime
org_date = os.stat(file_path).st_mtime
if copy_date < org_date:
print "%s copy... %s" %(send, grid_name)
shutil.copy2(file_path, rename_file)
else:
Ein Skript, das den Dateinamen beim Kopieren der Zieldatei unter Bezugnahme auf den Text bearbeitet.
copy_target.py
import os
import shutil
from datetime import datetime as dt
txt_file = open(r"copy_target.txt","r")
for target_line in txt_file:
if target_line == '\n':
break
target_cl = target_line[:-1].split(',')
file_path = target_cl[0].strip('"')
file_name = target_cl[1].strip('"')
grid_cl = file_name.split('_')
if len(grid_cl) == 6:
photo = grid_cl[0]
area = grid_cl[1]
b_cl = grid_cl[2]
b_rw = grid_cl[3]
b_no = grid_cl[4]
flg = grid_cl[5]
grid_name = area + b_cl + b_rw
send = r'G:\grid\\' + area + '\\' + grid_name
if os.path.isdir(send) :
rename_file = send +'\\'+ file_name
if os.path.exists(rename_file) :
copy_date = os.stat(rename_file).st_mtime
org_date = os.stat(file_path).st_mtime
if copy_date < org_date:
print "%s copy... %s" %(send, grid_name)
shutil.copy2(file_path, rename_file)
else:
print "%s copy new... %s" %(send, grid_name)
shutil.copy2(file_path, rename_file)
else:
is_not_file = open(r"D:\python\file_serch\target_work\is_not_GRID.txt", "a+")
is_not_file.write(file_path + "," + file_name + "," + "no path" + "\n")
is_not_file.close()
Recommended Posts