Python脚本无法访问存储服务器
我正在创建一个简单的脚本,用于将文件从本地计算机复制到服务器。我收到一条错误消息,说明访问被拒绝,我相信这是因为服务器位置需要登录。它是一个需要我的域登录才能访问的工作服务器 这是我的剧本:Python脚本无法访问存储服务器,python,permissions,Python,Permissions,我正在创建一个简单的脚本,用于将文件从本地计算机复制到服务器。我收到一条错误消息,说明访问被拒绝,我相信这是因为服务器位置需要登录。它是一个需要我的域登录才能访问的工作服务器 这是我的剧本: import shutil import os ### Set the source and destination directories ### source = r"F:\scripts\Python\DIT\SourceTest" destination = r"
import shutil
import os
### Set the source and destination directories ###
source = r"F:\scripts\Python\DIT\SourceTest"
destination = r"\\192.168.128.13\mocap\ViconDB\AWKG\Capture02\20210423_ShootDay06\Ref\_Basil\testDest"
print("Source = " + source)
print("Destination = " + destination)
### Get a list of file names
fileNames = os.listdir(source)
### Check that the source has files in it ###
numberOfFiles = len(fileNames)
if numberOfFiles == 0:
print("Error: 0 files found")
exit()
else:
print("Copying " + str(numberOfFiles) + " file(s).")
### Loop through the file_names then copy files from source to destination ###
for file in fileNames:
if (os.path.exists(os.path.join(destination, file))):
print("File already exists in directory")
else:
dest = shutil.copy2(os.path.join(source, file), destination)
print("New file = " + dest)
print("Copy complete")
结果显示:
Source = F:\scripts\Python\DIT\SourceTest
Destination = \\192.168.128.13\mocap\ViconDB\AWKG\Capture02\20210423_ShootDay06\Ref\_Basil\testDest
Copying 6 file(s).
Traceback (most recent call last):
File "F:\scripts\Python\DIT\AutoCopy.py", line 33, in <module>
dest = shutil.copy2(os.path.join(source, file), destination)
File "C:\Python39\lib\shutil.py", line 435, in copy2
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "C:\Python39\lib\shutil.py", line 264, in copyfile
with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst:
PermissionError: [Errno 13] Permission denied: '\\\\192.168.128.13\\mocap\\ViconDB\\AWKG\\Capture02\\20210423_ShootDay06\\Ref\\_Basil\\testDest'
其结果是:
Traceback (most recent call last):
File "F:\scripts\Python\DIT\test.py", line 6, in <module>
fileNames = print(os.listdir(location))
PermissionError: [WinError 5] Access is denied: '\\\\192.168.128.13\\mocap\\ViconDB\\AWKG\\Capture02\\20210423_ShootDay06\\Ref\\_Basil\\testDest'
回溯(最近一次呼叫最后一次):
文件“F:\scripts\Python\DIT\test.py”,第6行,在
fileNames=print(os.listdir(位置))
PermissionError:[WinError 5]访问被拒绝:'\\\\192.168.128.13\\mocap\\ViconDB\\AWKG\\Capture02\\20210423\U SHOTEDAY06\\Ref\\\\ U Basil\\testDest'
在运行脚本时,我是否可以确保身份验证不是问题?我可以在python脚本中添加一种身份验证方法吗
在本地目录上运行脚本是有效的,只要我使用服务器位置,就会出现权限/访问错误
添加编辑以澄清:在运行脚本的本地计算机上,我可以访问服务器位置,并已装载该位置,因此不需要登录。这似乎并没有为脚本修复它,尽管,因为您可以看到您没有权限。一种方法是首先获得许可,然后尝试连接它。这与你的代码无关。请与域管理员联系以获得访问权限或激活VPN等。刚才添加了一个编辑来解释,我确实有权访问服务器位置,并且该位置映射到运行脚本的计算机,并保存了我的登录名,因此不需要再次登录。我不确定脚本为什么没有权限,因为装载是正确的。这肯定是管理员的问题。您可以从错误中尝试以管理员身份运行终端。您甚至不能在
os.listdir
中列出文件。您是否可以尝试ls destination
检查这是否真的是由于Python造成的。
Traceback (most recent call last):
File "F:\scripts\Python\DIT\test.py", line 6, in <module>
fileNames = print(os.listdir(location))
PermissionError: [WinError 5] Access is denied: '\\\\192.168.128.13\\mocap\\ViconDB\\AWKG\\Capture02\\20210423_ShootDay06\\Ref\\_Basil\\testDest'