shutil.move условные ошибки - PullRequest
       6

shutil.move условные ошибки

0 голосов
/ 22 сентября 2018

У меня есть короткий скрипт на python (называемый VaultTransferScript.py), который должен передавать zip-файл с одного компьютера на другой.Машина назначения - это подключенный компьютер с сетевым хранилищем, который я назначил диском Z :.Сценарий:

import shutil
import os
from datetime import datetime
time_stamp = datetime.now().strftime('%Y-%m-%d_%H_%M')
title_str = 'VaultBackup.zip'
name = time_stamp + title_str 
shutil.move('C:\\Users\\Hawking\\Desktop\\VaultBackups\\MyBackup.zip', 
    os.path.join('Z:\\VaultBackups\\'+name))   

Я могу запустить этот сценарий из средства запуска notepad ++, используя

cmd /C  python "$(FULL_CURRENT_PATH)"

Но запустив его в пакетном сценарии, как:

echo off
C:\Users\Hawking\AppData\Local\Programs\Python\Python37-32\python.exe C:\Users\Hawking\Desktop\VaultBackupTransfer.py

приводит к следующему:

C:\Users\Hawking\Desktop>echo off
Traceback (most recent call last):


File "C:\Users\Hawking\AppData\Local\Programs\Python\Python37-32\lib\shutil.py", line 557, in move
    os.rename(src, real_dst)
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\Hawking\\Desktop\\VaultBackups\\MyBackup.zip' -> 'Z:\\VaultBackups\\2018-09-21_14_30VaultBackup.zip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Hawking\Desktop\VaultBackupTransfer.py", line 7, in <module>
    shutil.move('C:\\Users\\Hawking\\Desktop\\VaultBackups\\MyBackup.zip', os.path.join('Z:\\VaultBackups\\'+name))
  File "C:\Users\Hawking\AppData\Local\Programs\Python\Python37-32\lib\shutil.py", line 571, in move
    copy_function(src, real_dst)
  File "C:\Users\Hawking\AppData\Local\Programs\Python\Python37-32\lib\shutil.py", line 257, in copy2
    copyfile(src, dst, follow_symlinks=follow_symlinks)
  File "C:\Users\Hawking\AppData\Local\Programs\Python\Python37-32\lib\shutil.py", line 121, in copyfile
    with open(dst, 'wb') as fdst:
FileNotFoundError: [Errno 2] No such file or directory: 'Z:\\VaultBackups\\2018-09-21_14_30VaultBackup.zip'

В чем разница в том, как я вызываю скрипт python, и почему он выдает ошибку из пакетного скрипта, но не из notepad ++?

1 Ответ

0 голосов
/ 22 сентября 2018

Возможно, вы запускаете программу Python с другими правами доступа в Notepad ++ по сравнению с командной строкой.В качестве альтернативы можно использовать другую Python VM.Хотя ничто особенно не заставляет меня думать, что последнее верно.

...