Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x shutil.move条件错误_Python 3.x_Batch File_Notepad++ - Fatal编程技术网

Python 3.x shutil.move条件错误

Python 3.x shutil.move条件错误,python-3.x,batch-file,notepad++,Python 3.x,Batch File,Notepad++,我有一个简短的python脚本(称为VaultTransferScript.py),可以将zip文件从一台机器传输到另一台机器。目标计算机是映射的网络连接存储计算机,我已将其指定为Z:drive。 剧本是: import shutil import os from datetime import datetime time_stamp = datetime.now().strftime('%Y-%m-%d_%H_%M') title_str = 'VaultBackup.zip' name =

我有一个简短的python脚本(称为VaultTransferScript.py),可以将zip文件从一台机器传输到另一台机器。目标计算机是映射的网络连接存储计算机,我已将其指定为Z:drive。 剧本是:

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'
C:\Users\Hawking\Desktop>echo-off
回溯(最近一次呼叫最后一次):
文件“C:\Users\Hawking\AppData\Local\Programs\Python\Python37-32\lib\shutil.py”,第557行,移动中
重命名(src,realdst)
FileNotFoundError:[WinError 3]系统找不到指定的路径:“C:\\Users\\Hawking\\Desktop\\VaultBackup\\MyBackup.zip'->'Z:\\VaultBackup\\2018-09-21\u 14\u 30VaultBackup.zip”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\Hawking\Desktop\VaultBackupTransfer.py”,第7行,在
shutil.move('C:\\Users\\Hawking\\Desktop\\VaultBackups\\MyBackup.zip',os.path.join('Z:\\VaultBackups\\\'+name))
文件“C:\Users\Hawking\AppData\Local\Programs\Python\Python37-32\lib\shutil.py”,第571行,移动中
复制_函数(src、real_-dst)
文件“C:\Users\Hawking\AppData\Local\Programs\Python\Python37-32\lib\shutil.py”,第257行,在copy2中
复制文件(src、dst、follow_symlinks=follow_symlinks)
文件“C:\Users\Hawking\AppData\Local\Programs\Python\Python37-32\lib\shutil.py”,第121行,在copyfile中
开放式(dst,“wb”)作为fdst:
FileNotFoundError:[Errno 2]没有这样的文件或目录:“Z:\\VaultBackups\\2018-09-21_14_30VaultBackup.zip”

调用python脚本的方式有什么不同,为什么它会从批处理脚本中出错,而不是从记事本++中出错?

您可能在记事本++中使用不同的用户权限运行python程序,而不是在命令提示符下运行。或者,也可以使用另一个Python VM。不过,没有什么特别让我认为后者是正确的。

您可能在Notepad++和命令提示符中以不同的用户权限运行Python程序。或者,也可以使用另一个Python VM。虽然,没有什么特别让我认为后者是正确的。

os.path.join('Z:\\VaultBackups\\\'+name)
->
os.path.join('Z:\\VaultBackups',name)
os.path.join('Z:','VaultBackups',name)
os.path.join('Z:\\VaultBackups\\\\'+name)
os.path.join('Z:\\VaultBackups',name)
甚至
os.path.join('Z:','VaultBackups',name)
@Erik这就是你选择并投票给答案的时候:)我总是有这个问题-似乎我没有资格正式接受答案。我没有投票it@Erik这就是你选择并投票的答案:)我总是有这个问题-似乎我没有点正式接受答案。我投了赞成票