小编And*_*ndy的帖子

如何忽略Python中所有潜在的异常?

我正在用 Python 编写自定义备份脚本。有时 mkdir 函数或 print 函数或任何函数会由于各种原因而失败。此类异常会停止整个脚本并在中间停止备份,这非常令人沮丧。到目前为止,我已经通过添加 try: ... except: ... 语句并正确管理这些异常来解决这些问题。但是,有一天,由于尚未触发的其他原因,某些其他语句或函数也可能引发异常。

有没有办法告诉脚本继续进行?相当于将代码的每个语句包装在 try: ... except: pass 子句中?当然有日志就更好了。

我注意到,当使用 Tkinter 等 GUI 工具包进行编程时,即使引发异常,应用程序也会继续运行。是否可以使用控制台完成此类事情?

python exception python-3.x resiliency

3
推荐指数
1
解决办法
5777
查看次数

在什么条件下才能确保未实际开始未来?

我正在尝试使用子进程中的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协程的代码,但显然我错过了一些东西.

python python-asyncio

1
推荐指数
1
解决办法
1112
查看次数