код для копирования сам по себе выдает ошибку быстрого просмотра до закрытия окна, почему это может быть?

#python #python-3.x

#python #python-3.x

Вопрос:

Я создаю программу для друга. Он предназначен для дублирования самого себя, а затем запуска дубликата, затем дубликат делает то же самое, и так далее (в каждом дубликате он выполняется в течение некоторого количества итераций).

Я использую os.system и xcopy команды для копирования, но это выдает ошибку, и я не знаю, что это (это настолько быстро, что невидимо), поэтому я не могу сказать, почему это не работает.

Вот код:

 def copySelf():
    for i in range(1):
        os.system('xcopy duplotest.py .\')
copySelf()
  

Я увеличу количество итераций позже, но для тестирования я устанавливаю range равное 1 .

Ответ №1:

Вы пытаетесь скопировать файл таким образом, чтобы он перезаписал сам себя. Я запустил вашу команду из командной строки на своем рабочем столе, используя файл с именем temp.py. Запуск вашей команды в моем файле:

 C:UsersmeDesktop>xcopy temp.py .
  

Результат был следующим:

 C:temp.py
File cannot be copied onto itself
0 File(s) copied
  

Я надеюсь, что это решит вашу проблему.

В качестве предложения по отладке для такого рода проблем, возможно, рассмотрите использование > для записи выходных данных команды в текстовый файл, который вы можете прочитать, даже если командная строка закрывается слишком быстро, как вы сказали.

Комментарии:

1. JSON Brody, мне было интересно, есть ли способ обойти это:<br> Does duplotest0.py specify a file name or directory name on the target <br> (F = file, D = directory)? <br> Я не хочу, чтобы эта вещь подтверждала это, поскольку мне нужно, чтобы это было автоматизировано. Спасибо