好吧,它说提交并没有在这段代码中定义,而实际上是这样的。我正在尝试使用tkinter,因此.get()
和reddit praw api
。我正在尝试使用函数saver\u vars,它从GUI保存单个变量,并使用它们来发出请求,然后将该请求交给request\u 1处理,它有更多的代码。但不要担心格式问题,因为我知道格式是正确的
def saver_vars():
global urlLink
urlLink = e1.get()
global submission_numb
submission_numb = e2.get()
global name_file
name_file = e3.get()
global File_Path
File_Path = e4.get()
File_Path.replace(r'\\', "/")
global MidPicDir
MidPicDir = e4.get()
MidPicDir.replace(r'\\', "/")
global choice
choice = e5.get()
nonurl=urlparse(urlLink)
reddit_request1 = praw.Reddit(client_id='something',
client_secret="something", password='something!',
user_agent='something by /u/the_anti-vac', username='something')
# try:
if choice == "1":
submissions = reddit_request1.subreddit('AskReddit').hot(limit = int("{0}".format(submission_numb)))
if choice == "2":
submissions = reddit_request1.get_submission(submission_id=nonurl.path.split('/')[4])
master.quit()
request_1(submissions)
def request_1(submissions):
submission_info = ""
count_1 = 0
for submission_1 in submissions:
print("submissiontitle" + submission_1.title)
我希望它运行时没有此错误消息local variable 'submissions' referenced before assignment
。它把这个错误放在request_1
代码的问题是,如果您的选择不等于1或2,则不会创建变量
submissions
。因此,在使用它或像我的示例中那样初始化它之前,可以通过在代码中的任何位置声明它来确保它始终存在。您可以使用None关键字来初始化变量,但将其保持为空,并准备好放在那里。它看起来是这样的:或者你可以做if..else if。。其他更好的代码实践:
应该是这样的
相关问题 更多 >
编程相关推荐