我有一段代码可以在32位上很好地工作,并且我正在尝试使其也可以在64位上工作。运行该进程时,sizeof(structure)似乎返回了无效的选项,并且该结构未正确填充64位。我需要做什么才能使此功能成为64位?
from ctypes import *
from ctypes.wintypes import *
import sys
# const variable
# Establish rights and basic options needed for all process declartion / iteration
TH32CS_SNAPPROCESS = 2
STANDARD_RIGHTS_REQUIRED = 0x000F0000
SYNCHRONIZE = 0x00100000
PROCESS_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF)
TH32CS_SNAPMODULE = 0x00000008
TH32CS_SNAPTHREAD = 0x00000004
#class MODULEENTRY32(Structure):
# _fields_ = [ ( 'dwSize' , DWORD ) ,
# ( 'th32ModuleID' , DWORD ),
# ( 'th32ProcessID' , DWORD ),
# ( 'GlblcntUsage' , DWORD ),
# …Run Code Online (Sandbox Code Playgroud) 我正在尝试从python中的一个简单表构建一个json层次结构.
数据如下所示:
id parent name
1 10 test-name-1
2 10 test-name-2
3 5 test-name-3
4 none test-name-4
5 10 test-name-5
6 none test-name-6
7 1 test-name-7
8 1 test-name-8
9 8 test-name-9
10 4 test-name-10
Run Code Online (Sandbox Code Playgroud)
我正在寻找这样的输出:
{"$4":{"name":"test-name-4","children":{
"$10":{"name":"test-name-10","children":{
"$1":{"name":"test-name-1","children":{
"$7":{"name":"test-name-7","children":{}},
"$8":{"name":"test-name-8","children":{
"$9":{"name":"test-name-9","children":{}}}}}},
"$2":{"name":"test-name-2","children":{}},
"$5":{"name":"test-name-5","children":{
"$3":{"name":"test-name-3","children":{}}}}}}}},
"$6":{"name":"test-name-6","children":"test-name-6"}}
Run Code Online (Sandbox Code Playgroud)
我不知道会有多少"叶子"或"根",或者来自csv的行的顺序是什么.我的问题是,有没有办法可以从子节点递归地构建字典/列表父母?如何从python中的树的"叶子"片段生成分层树?
谢谢您的帮助!