Большинство ответов связаны с изменением вызова на json.dumps (), что не всегда возможно или желательно (это может произойти, например, в компоненте framework).
Если вы хотите быть в состоянии для вызова json.dumps (obj) как есть, тогда простое решение наследуется от dict:
class FileItem(dict):
def __init__(self, fname):
dict.__init__(self, fname=fname)
f = FileItem('tasks.txt')
json.dumps(f) #No need to change anything here
Это работает, если ваш класс является просто базовым представлением данных, потому что для более сложных вещей вы всегда можете задавать ключи явно .
Код VB выглядит примерно так:
hMutex = CreateMutex(ByVal 0&, 1, ByVal 0&)
первый параметр является указателем на SECURITY_ATTRIBUTES
структура. Если Вы не знаете, каково это, Вам не нужен он. Передайте ПУСТОЙ УКАЗАТЕЛЬ (0).
второй параметр TRUE
(ненулевой, или 1), если вызывающий поток должен взять владение взаимного исключения. FALSE
иначе.
третий параметр является взаимоисключающим именем и может быть ПУСТОЙ (0), как показано. Если Вы нуждаетесь в именованном взаимном исключении, передаете имя (что-либо уникальное) в. Не уверенный, упорядочивает ли VB
обертка снабженный префиксом длину VB
строковый тип (BSTR
) к завершенной пустым указателем строке Ascii/Unicode в противном случае, необходимо будет сделать, это и многочисленные примеры там.
Удачи!
Вот объявления VB6 для CreateMutex - я просто скопировал их со средства просмотра API, которое Вы должны иметь как часть Вашей установки VB6. VB6 marshalls представляет в виде строки к завершенному пустым указателем ANSI с помощью текущей кодовой страницы.
Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
Public Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" _
(lpMutexAttributes As SECURITY_ATTRIBUTES, ByVal bInitialOwner As Long, _
ByVal lpName As String) As Long
Принимают во внимание, что при создании взаимного исключения из VB6 IDE взаимное исключение принадлежит IDE и не будет уничтожено, когда Вы прекращаете запускать свою программу - только при закрытии IDE.
Ну, на основе документация это похоже:
HTH