Python хэш, содержащий дескрипторы файлов
Поэтому я работаю над сценарием, который автоматически загружает определенные файлы из ботов IRC XDCC при запуске. Эти запросы являются асинхронными, и их может быть разное количество, в зависимости от файла конфигурации, поэтому я хотел сохранить дескрипторы файлов в хэш-таблице или библиотеке, чтобы на них можно было легко ссылаться в зависимости от того, кто был отправителем файла и отправляемого файла (читать во время события). Python жалуется поговорка SyntaxError: can't assign to function call
так что, думаю, это не сработает так, как я хочу.
Есть ли более простой способ сделать это? Я лаю не на том дереве?
Спасибо! -Рассел
2 ответа
Создайте пустой хеш:
files = {}
Добавьте элементы в хеш:
files["gin"] = open('ginpachi.txt','w')
files["ahq"] = open('ahq[DaBomb].txt','w')
Обращайтесь к ним так же, как к обычному обработчику файлов
files["gin"].close()
...
К сожалению, в Интернете не было никакой информации об этом (особенно с хешами и файловыми дескрипторами). Дело закрыто
Проблема заключается в том, что левая часть оператора присваивания должна быть lvalue, то есть то, что, как знает компилятор, имеет адрес памяти, например, переменную. То же самое в других языках программирования. Возвращаемое значение функции - это значение или чистое значение.
Это другие незаконные задания:
f() = 1
2 = 1
None = 0
[1,2] = []
Обратите внимание, что следующие синтаксически правильны, потому что компилятор знает, как вычислить адрес для области памяти, которая будет назначена:
f().a = None
[1,2][0] = 0