使用Python下载MEGA文件时遇到问题。

6 浏览
0 Comments

使用Python下载MEGA文件时遇到问题。

我正在尝试使用Python的mega.py库从我的MEGA账户下载文件,使用以下代码:

from mega import Mega
mega = Mega()
m = mega.login('example@example.com', 'example')
file = m.find('example.txt')
m.download(file, 'D:\\Desktop')

然而,它总是返回以下错误信息:

Traceback (most recent call last):
  File "D:\Programas\aNaconda\lib\shutil.py", line 788, in move
    os.rename(src, real_dst)
PermissionError: [WinError 32] 文件已被另一个进程使用: 'C:\\Users\\vrida\\AppData\\Local\\Temp\\megapy_xdste432' -> 'example.txt'
在处理上述异常时,发生了另一个异常:
Traceback (most recent call last):
  File "", line 1, in 
    m.download(file)
  File "D:\Programas\aNaconda\lib\site-packages\mega\mega.py", line 564, in download
    return self._download_file(file_handle=None,
  File "D:\Programas\aNaconda\lib\site-packages\mega\mega.py", line 745, in _download_file
    shutil.move(temp_output_file.name, output_path)
  File "D:\Programas\aNaconda\lib\shutil.py", line 803, in move
    os.unlink(src)
PermissionError: [WinError 32] 文件已被另一个进程使用: 'C:\\Users\\vrida\\AppData\\Local\\Temp\\megapy_example' 

实际上,当我进入文件夹(C:\Users\vrida\AppData\Local\Temp)时,我发现一个临时文件,名称类似于我想要下载的文件,但是名为megapy_example。

我看到以下网站上有一个讨论来解决这个问题:

[https://www.reddit.com/r/learnpython/comments/mw6is2/download_file_from_mega_using_megapy/](https://www.reddit.com/r/learnpython/comments/mw6is2/download_file_from_mega_using_megapy/)

要求在代码中添加以下行:

try:
    m.download(file, 'D:\\Desktop')
except PermissionError:
    continue

在我的情况下,`continue`命令无效,所以我只是用`pass`命令替代。代码可以运行,但我不知道文件是否真正保存了。

有人可以帮助我吗?我真的需要下载这些文件并保存下来。

如果无法通过`mega.py`库工作,你们是否知道如何通过Python下载像以下公共链接这样的文件:

[http://%20https://mega.co.nz/#!cSZCELDb!5O57KMVMIgrPiH5fnaefWeNPDqoDWzGbY-sZkdTUdNk](http://%20https://mega.co.nz/#!cSZCELDb!5O57KMVMIgrPiH5fnaefWeNPDqoDWzGbY-sZkdTUdNk)

0