Python 根据变量打开特定文件

Python 根据变量打开特定文件,python,Python,好的,对于这个GUI,我想根据某个变量的结果来读取一个文件。我会尽量详细解释的 因此,该文件从下拉菜单中获取输入。用户选择的选项将决定读取哪个文件。然后将读取的文件追加到数组中,然后将数组放入另一个下拉菜单中 我想知道这是否可行。下面是我的部分代码 早期下拉菜单: weapon.set('Sword') choices = ['Sword', 'Bow', 'Katana'] self.weaponMenu = OptionMenu(self,weapon, *choic

好的,对于这个GUI,我想根据某个变量的结果来读取一个文件。我会尽量详细解释的

因此,该文件从下拉菜单中获取输入。用户选择的选项将决定读取哪个文件。然后将读取的文件追加到数组中,然后将数组放入另一个下拉菜单中

我想知道这是否可行。下面是我的部分代码

早期下拉菜单:

    weapon.set('Sword')
    choices = ['Sword', 'Bow', 'Katana']
    self.weaponMenu = OptionMenu(self,weapon, *choices)
    self.weaponMenu.grid(row =2, column = 2)
正在读取文件:

    self.moves = Label(self, text = "Move")
    self.moves.grid(row = 9, column = 1,)
    move = StringVar()

    weapon = open("%d.txt" %(self.weaponMenu.get()),"r") #reads weapon file
    moves = []
    for line in weapon:
        moves.append(line)
    self.movesMenu = OptionMenu(self, move, *moves)
    self.movesMenu.grid(row =10, column = 1)
这是我试图做的,但我无法让它工作。我可能会使用if语句,但我想知道我正在尝试的方法是否可行,或者我是否可以采取其他措施来实现相同的结果

我希望您理解我写的内容,并提前感谢您的帮助!希望我做的一切都对,我还是个新手

当我尝试执行该文件时,会收到以下错误消息:

    Traceback (most recent call last):
      File "C:\Python27\mh4uDamageWindow.py", line 88, in <module>
        app = Application(root)
      File "C:\Python27\mh4uDamageWindow.py", line 10, in __init__
        self.create_widget()
      File "C:\Python27\mh4uDamageWindow.py", line 67, in create_widget
        weapon = open("%d.txt" % (self.weaponMenu.get()),"r") #reads weapon file
    AttributeError: OptionMenu instance has no attribute 'get'
    >>>
我收到以下错误消息:

    Traceback (most recent call last):
      File "C:\Python27\mh4uDamageWindow.py", line 88, in <module>
        app = Application(root)
      File "C:\Python27\mh4uDamageWindow.py", line 10, in __init__
        self.create_widget()
      File "C:\Python27\mh4uDamageWindow.py", line 67, in create_widget
        weapon = open("%d.txt" % (self.weaponMenu.get()),"r") #reads weapon file
    AttributeError: OptionMenu instance has no attribute 'get'
    >>>
回溯(最近一次呼叫最后一次):
文件“C:\Python27\mh4uDamageWindow.py”,第88行,在
app=应用程序(根)
文件“C:\Python27\mh4uDamageWindow.py”,第10行,在_init中__
self.create_小部件()
文件“C:\Python27\mh4uDamageWindow.py”,第67行,在create_小部件中
武器=打开(“%d.txt”%(self.weaponMenu.get()),“r”)读取武器文件
AttributeError:OptionMenu实例没有属性“get”
>>>

使用
选项菜单(
武器
)的变量集,而不是小部件本身:

weapon = open("%s.txt" % (weapon.get()),"r") #reads weapon file

如果它在您读取文件的范围内不可用,请将其添加到
self

当您尝试使用代码指示它不工作时会发生什么?很抱歉,响应太晚。好的,代码是有效的,但它没有像我想象的那样有效,但是谢谢你的回答。