Хэш Python, содержащий дескрипторы файлов - PullRequest
0 голосов
/ 15 марта 2011

Итак, я работаю над сценарием, который автоматически загружает определенные файлы из ботов IRC XDCC при запуске.Эти запросы являются асинхронными, и их может быть разное количество, в зависимости от файла конфигурации, поэтому я хотел сохранить дескрипторы файлов в хеш-таблице или библиотеке, чтобы на них можно было легко ссылаться в зависимости от того, кто был отправителем файла и отправляемого файла(читать во время события).Python жалуется, говоря SyntaxError: can't assign to function call, поэтому я предполагаю, что это не сработает так, как я хочу.

Какой-нибудь более простой способ сделать это?Я лаю здесь не то дерево?

Спасибо!-Russell

Ответы [ 2 ]

0 голосов
/ 15 марта 2011

Создать пустой хеш:

files = {}

Добавить элементы в хэш:

files["gin"] = open('ginpachi.txt','w')
files["ahq"] = open('ahq[DaBomb].txt','w')

Обращайтесь к ним так же, как к обычному обработчику файлов

files["gin"].close()
...

К сожалению, в Интернете не было никакой информации об этом (особенно с хешами и дескрипторами файлов).).Дело закрыто

0 голосов
/ 15 марта 2011

Проблема в том, что левая сторона оператора присваивания должна иметь значение lvalue , то есть то, что, как знает компилятор, имеет адрес памяти, например переменную. То же самое в других языках программирования. Возвращаемое значение функции: rvalue или pure value.

Это другие незаконные задания:

f() = 1
2 = 1
None = 0
[1,2] = []

Обратите внимание, что следующие синтаксически правильны, потому что компилятор знает, как вычислить адрес для ячейки памяти, которая будет назначена:

f().a = None
[1,2][0] = 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...