У меня есть код:Используйте выбранный пользователем путь к файлу на протяжении всего моего кода
def mnuRead(self, event):
global fn
dialog = wx.FileDialog(None, "Choose a file", os.getcwd(), "", "*.*", wx.OPEN)
if dialog.ShowModal() == wx.ID_OK:
countrylist = []
fn = dialog.GetPath()
fh = open(fn, "r")
csv_fh = csv.reader(fh)
for row in csv_fh:
countrylist.append(row)
fh.close()
for rows in countrylist:
self.myListCtrl.Append(rows)
def btnHDI(self, event):
myfile = open(fn, "rb")
wx.MessageBox(fn)
countries = []
Мой mnuRead
метод позволяет пользователю открыть файл по своему выбору. Я хочу использовать строку этого пути в методе btnHDI
ниже.
Значение переменной fn
в глобальном масштабе дает мне синтаксическую ошибку. Как использовать этот путь в других методах?
В моем отредактированном коде выше, я все еще получаю сообщение об ошибке, что «fn» является неопределенным именем в моем методе «btnHDI». Почему это? –
@PhilipMcQuitty - Вы как-то называете 'btnHDI' перед' mnuRead'? Когда вы вызываете 'mnuRead',' fn' становится глобальным и должен быть доступен для всех других функций. – iCodez
@PhilipMcQuitty - Другая возможность заключается в том, что 'if dialog.ShowModal() == wx.ID_OK:' оценивает значение 'False', так что' fn' никогда не устанавливается. – iCodez