我正在用 Python 编写自定义备份脚本。有时 mkdir 函数或 print 函数或任何函数会由于各种原因而失败。此类异常会停止整个脚本并在中间停止备份,这非常令人沮丧。到目前为止,我已经通过添加 try: ... except: ... 语句并正确管理这些异常来解决这些问题。但是,有一天,由于尚未触发的其他原因,某些其他语句或函数也可能引发异常。
有没有办法告诉脚本继续进行?相当于将代码的每个语句包装在 try: ... except: pass 子句中?当然有日志就更好了。
我注意到,当使用 Tkinter 等 GUI 工具包进行编程时,即使引发异常,应用程序也会继续运行。是否可以使用控制台完成此类事情?
我正在尝试使用子进程中的wget异步下载Python中的文件.我的代码看起来像这样:
async def download(url, filename):
wget = await asyncio.create_subprocess_exec(
'wget', url,
'O', filename
)
await wget.wait()
def main(url):
loop = asyncio.get_event_loop()
future = asyncio.ensure_future(download(url, 'test.zip'), loop=loop)
print("Downloading..")
time.sleep(15)
print("Still downloading...")
loop.run_until_complete(future)
loop.close()
Run Code Online (Sandbox Code Playgroud)
我正在尝试做的是见证打印"Downloading .."然后15秒后"仍在下载...",所有这些都是在文件下载开始的时候.我实际看到的是文件的下载仅在代码命中loop.run_until_complete(future)时开始
我的理解是asyncio.ensure_future应该开始运行download协程的代码,但显然我错过了一些东西.