我有一个小程序,我创建下载图像文件从FlashAir webdav功能的SD卡。这在Powershell上工作得很好,但尝试使用Python实现。
我让它在easywebdav可以下载文件的地方工作,但结果大小是22Kb,这是错误的,windows不能将它们识别为有效文件。
我已经对client.py应用了基字符串修复来处理Python3.x,而不是在How to overcome Python 3.4 NameError: name 'basestring' is not defined中找到的2.x。
我使用的是Python 3.5.1。
import easywebdav
urlFlashAir = 'http://flashair'
imgLocation = '/DCIM/101MSDCF'
destLocation = 'c:\\test3\\'
remoteDirName = ''
webDavConnection = easywebdav.connect('flashair', '', '')
lsOutput = webDavConnection.ls(imgLocation)
for i in lsOutput:
if i.size == 0:
remoteDirName = i.name
if i.size > 0:
filename = (i.name).replace(remoteDirName,'')
print(i.name)
print(remoteDirName)
print(filename)
webDavConnection.download(imgLocation, destLocation + filename)发布于 2018-10-10 12:02:58
我用notepad++查看了这篇22KB的文章,发现它是FlashAir卡的网页。在研究代码和文档时,我发现我引用的不是远程文件名,而是位置。有一次,我修复了代码以附加一个正斜杠和一个文件名。现在可以正确下载文件。
https://stackoverflow.com/questions/51910057
复制相似问题