在赋值python 3.4之前的局部变量refrenced

时间:2017-06-18 01:59:59

标签: python

我试着用i作为变量,我得到了这个 “分配前引用的局部变量'i'”错误

我添加了一个全局命令,它仍然无法正常工作

(此代码包含python包)

这是代码

i=0

global i
from PIL import ImageGrab
try:
    while True:
        time.sleep(1)
        ImageGrab.grab().save("dones"+str(i)+".png")
        i+=1
except KeyboardInterrupt:
    def t():
        d=open("imagepaths.txt","w")
        while True:
            d.write("dones"+str(i)+".jpg")
            if int(i)==0:
                d.close()
                exit()
            else:
                i-=1
                t()
    t()

全球意味着去哪儿?

2 个答案:

答案 0 :(得分:1)

您需要在def t()

中添加except KeyboardInterrupt: def t(): global i # <-- here d = open("imagepaths.txt","w") ...
global

import discord, asyncio, sys client = discord.Client() @client.event async def on_ready(): async for msg in client.logs_from(client.get_channel(None), limit=1): try: await client.send_message(msg.channel, "test") except: sys.exit(0) sys.exit(0) client.run('ClientTokenHere') 关键字仅适用于函数。

答案 1 :(得分:1)

你错放了全局关键字。您应该将它放在本地范围内。

var content = JSON.parse(result.message.data);