当我像这样使用大量代码时,我会遇到这样的错误:
def uplaod_mega_nz(root,cloude='google_drive',title1=''):
if (cloude=='mega'):
mega = Mega()
email = '????'
password = 'password'
m = mega.login(email, password)
# login using a temporary anonymous account
m = mega.login()
quota = m.get_quota()
# specify unit output kilo, mega, gig, else bytes will output
space = m.get_storage_space(kilo=True)
m.create_folder('yolo_car_database/'+title1+'/')
folder = m.find('yolo_car_database/'+title1+'/')
# m.upload('myfile.doc', folder[0])
for path, subdirs, files in os.walk( root):
for name in files:
m.upload(os.path.join(path, name), folder[0])
# public_exported_web_link = m.export('myfile.doc')
# public_exported_web_link = m.export('my_mega_folder/my_sub_folder_to_share')
if (cloude=='google_drive'):
run_command('mkdir '+root+'/')
copy_tree(root,'/content/gdrive/My Drive/yolo_car_database/' + title1 + '/')错误如下:
---------------------------------------------------------------------------
RequestError Traceback (most recent call last)
<ipython-input-2-9904784b863b> in <module>()
121 for line in open('/content/yoloOnGoogleColab/car_type_label.txt','r').readlines():
122 print (line)
--> 123 Youtube_download_video(line)
124 i=i+1
125 # !cp '/content/yolo_car_database' "gdrive/My Drive/yolo_car_databe"
10 frames
/usr/local/lib/python3.6/dist-packages/mega/mega.py in _api_request(self, data)
186 logger.info(msg)
187 raise RuntimeError(msg)
--> 188 raise RequestError(int_resp)
189 return json_resp[0]
190
RequestError: EACCESS, Access violation (e.g., trying to write to a read-only share)完整的代码可以在这里看到:
谢谢。
发布于 2020-11-25 06:12:07
这可以通过运行第一个块代码来完成,如下所示:
# @markdown <center><h3>Input Your Mega ID</h3></center><br>
from functools import wraps
import errno
import os
import signal
import subprocess
import shlex
class TimeoutError(Exception):
pass
def timeout(seconds=10, error_message=os.strerror(errno.ETIME)):
def decorator(func):
def _handle_timeout(signum, frame):
raise TimeoutError(error_message)
def wrapper(*args, **kwargs):
signal.signal(signal.SIGALRM, _handle_timeout)
signal.alarm(seconds)
try:
result = func(*args, **kwargs)
finally:
signal.alarm(0)
return result
return wraps(func)(wrapper)
return decorator
if not os.path.exists("/root/.ipython/ocr.py"):
from subprocess import run
from shlex import split
shellCmd = "wget -qq https://raw.githubusercontent.com/biplobsd/OneClickRun/master/res/ocr.py \
-O /root/.ipython/ocr.py"
run(split(shellCmd))
from ocr import runSh
@timeout(10)
def runShT(args):
return runSh(args, output=True)
# MEGAcmd installing
if not os.path.exists("/usr/bin/mega-cmd"):
print("Installing MEGA ...")
runSh('sudo apt-get -y update')
runSh('sudo apt-get -y install libmms0 libc-ares2 libc6 libcrypto++6 libgcc1 libmediainfo0v5 libpcre3 libpcrecpp0v5 libssl1.1 libstdc++6 libzen0v5 zlib1g apt-transport-https')
runSh('sudo curl -sL -o /var/cache/apt/archives/MEGAcmd.deb https://mega.nz/linux/MEGAsync/Debian_9.0/amd64/megacmd-Debian_9.0_amd64.deb', output=True)
runSh('sudo dpkg -i /var/cache/apt/archives/MEGAcmd.deb', output=True)
print("MEGA is installed.")
else:
!pkill mega-cmd
# INPUT YOUR MEGA ID
USERNAME = 'kayeyoc231@llubed.com' # @param {type:"string"}
PASSWORD = "ss123456" # @param {type:"string"}
if not (USERNAME == "" or PASSWORD == ""):
try:
runShT(f"mega-login {USERNAME} {PASSWORD}")
except TimeoutError:
runSh('mega-whoami', output=True)
else:
print("Please Input your Mega IDs.")
# @markdown *After signing in, use the above cell(Main Cell) to transfer files from Mega to GDrive using the transfer quota of your Mega Pro Account*然后通过挂载google Drive帐户,如下所示:
from google.colab import drive
drive.mount('/content/gdrive')
!mkdir "/content/gdrive/My Drive/yolo_car_database/"
# !cp /content "gdrive/My Drive/yolo_car_databe"挂载后,您可以进入google dive文件夹,如下所示:
%cd /content/gdrive/MyDrive/通过colab代码块销毁此代码:
!mega-cmd 并将此代码写入其输入终端
sync <Source_path_folder_address> <mega_ns_destination_folder>例如,ti可以是:
sync /content/gdrive/MyDrive/ .然后,您可以编写ls命令来查看文件夹是否已同步到mega.nz驱动器。
所有这些都可以在here上看到。
此外,您还可以通过此链接查看mega-cmd帮助:
https://github.com/meganz/MEGAcmd
此外,您还可以在运行此答案第一部分编写的代码块后使用此命令:
from ocr import runSh
root = <the Colab target folder to be copied to mega.nz drive>
runSh('mega-cd /' )
runSh('mega-mkdir SomeThing ')
runSh( mega-ls ')
runSh('mega-cd SomeThing ')
runSh('mega-put '+ root+' . ')
runSh(' mega-ls')https://stackoverflow.com/questions/64839408
复制相似问题