繁体   English   中英

使用.readlines()并努力访问列表

[英]Using .readlines() and struggling to access the list

打开文本文件时,我正在努力访问使用.readlines()创建的列表。 该文件可以正确打开,但是我不确定如何在函数display_clues()中访问列表。

def clues_open():
    try:
        cluesfile = open("clues.txt","r")
        clue_list = cluesfile.readlines()
    except:
        print("Oops! Something went wrong (Error Code 3)")
        exit()

def display_clues():
    clues_yes_or_no = input("Would you like to see the clues? Enter Y/N: ")
    clues_yes_or_no = clues_yes_or_no.lower()
    if clues_yes_or_no == "y":
        clues_open()
        print(clue_list)

错误:

Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
display_clues()
File "N:\Personal Projecs\game\game.py", line 35, in      display_clues
print(clue_list)
NameError: name 'clue_list' is not defined

谢谢!

def clues_open():
    try:
        cluesfile = open("clues.txt","r")
        clue_list = cluesfile.readlines()
        #print clue_list   #either print the list here
        return clue_list   # or return the list
    except:
        print("Oops! Something went wrong (Error Code 3)")
        exit()
def display_clues():
    clues_yes_or_no = raw_input("Would you like to see the clues? Enter Y/N: ")
    clues_yes_or_no = clues_yes_or_no.lower()
    if clues_yes_or_no == "y":
        clue_list = clues_open()  # catch list here
        print clue_list


display_clues()

您必须将列表从clues_open()返回到display_clues()

def clues_open():
   with open("clues.txt","r") as cluesfile:
       return cluesfile.readlines()

def display_clues(): 
    clues_yes_or_no = input("Would you like to see the clues? Enter Y/N: ")    
    if clues_yes_or_no.lower() == "y": 
        clues_list = clues_open()
        print(clue_list) 

附带说明:我清除了您比没用的情况更糟的地方,除了阻止。 永远不要使用裸的except子句,永远不要假设实际出了什么问题,只捕获真正可以处理的异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM