#python #python-3.x #subprocess #directory #copy-paste
#python #python-3.x #подпроцесс #каталог #копировать-вставить
Вопрос:
я создал программу, которая автоматически копирует USB-устройство. когда он копирует usb, он создает одну папку в правильном месте назначения и одну папку в том же пути к программе python. я хочу, чтобы он создавал только одну папку в правильном месте назначения! Спасибо
это код:
import shutil
from array import *
import math
import time
import os
import sys
import random
import datetime
def data():
now = datetime.datetime.now()
format = "%d %b %H.%M"
global now_date
now_date = now.strftime(format)
format = "%M"
global minuti
minuti = now.strftime(format)
data()
old_date = now_date
alfabeto = ['A:','B:','F:','G:','H:','I:','L:','M:','N:','O:',] #mancano e,c,d
a = (r'')
b=random.choice('abcdefghilmnopqrstuvz1234567890èòàù')
new_dir = '{}'.format(now_date)
inc = (r'C:documentiprogramfilecollegamenti'')
incollaa = "".join([inc, new_dir,' ',b])
i=0
while True:
try:
if i==10: i=0
time.sleep(1)
copiaa = "".join([a, alfabeto[i]])
i=i 1
shutil.copytree(copiaa,incollaa)
if not os.path.exists(new_dir):
os.makedirs(new_dir)
break
except FileNotFoundError:
pass
Ответ №1:
Ваша проблема заключается в следующих строках:
if not os.path.exists(new_dir):
os.makedirs(new_dir)
Поскольку new_dir
это относительный путь (строка даты), он будет создан в рабочей папке вашего скрипта.
Комментарии:
1. тогда я должен изменить new_dir на incollaa?
2. Я только что понял, что команда copytree автоматически создает новую папку, фрагмент кода бесполезен. Спасибо