小编Mat*_*ren的帖子

pyparsing捕获具有给定标题的任意文本组作为嵌套列表

我有一个类似于的文本文件;

节标题1:
有些单词可以是任何
更多单词可以是任何东西
等等lala

其他一些标题:
像以前一样可能是任何
嘿,这不是很有趣

我正在尝试用pyparser构造一个语法,当要求将解析结果作为列表时,这将导致以下列表结构; (IE;在遍历parsed.asList()元素时应该打印以下内容)

['节目标题1:',[['某些单词可以是任何内容'],['更多单词可以是任何内容'],['etc etc lala']]]
['其他标题:',[[ '就像之前可能是任何事情',['嘿,这不是很有趣']]]

标题名称都是事先已知的,并且可能会出现或不出现各个标题.如果它们确实出现,则始终至少有一行内容.

我遇到的问题是,我无法解析解析器以识别'section header 1:'ands和'some other header:'的开始位置.我最终看到了一个parsed.asList();

['节目标题1:',[[''某些单词可以是任何'],['更多单词可以是任何东西'],['etc etc lala'],['其他标题'],[' '就像之前可能是任何事情',['嘿,这不是很有趣']]]

(IE:节标题1:正确看到,但是跟随它的每一个都被添加到节标题1中,包括更多标题行等等.)

我尝试了各种各样的东西,以各种方式使用leaveWhitespace()和LineEnd(),但我无法弄清楚.

我正在讨厌的基本解析器是(人为的例子 - 实际上这是一个类定义等等.).

header_1_line=Literal('section header 1:')

text_line=Group(OneOrMore(Word(printables)))

header_1_block=Group(header_1_line+Group(OneOrMore(text_line)))

header_2_line=Literal('some other header:')

header_2_block=Group(header_2_line+Group(OneOrMore(text_line)))

overall_structure=ZeroOrMore(header_1_block|header_2_block)
Run Code Online (Sandbox Code Playgroud)

正在被召唤

parsed=overall_structure.parseFile()
Run Code Online (Sandbox Code Playgroud)

干杯,马特.

python pyparsing

9
推荐指数
1
解决办法
2540
查看次数

使用 matplotlib 从“列表列表”绘制 3d 曲面

我已经搜索了一些,虽然我可以找到许多有用的网格网格示例,但没有一个清楚地显示如何将我的列表列表中的数据转换为我所看到的各种不同方式的可接受形式。

当谈到 numpy/matplotlib 以及我所看到的术语和步骤序列时,我有点迷茫。

我发现的最接近的是Plotting a 3d surface from a list of tuples in matplotlib

我有一个高度数据列表。

data=[[h1,h2,h3,h...],
     [h,h,h,h],
     [h,h,h,h],
     [h,h,h,h16]]

data[0][1]==h2

data[4][4]==h16
Run Code Online (Sandbox Code Playgroud)

如何使用 matplotlib/numpy 等生成这些值的简单 3d 曲面图?就像颜色值作为 z 值的颜色图一样。我可以很好地使用 imshow() ,因为它直接获取列表列表。我只是不确定我需要如何将我所拥有的东西分割成 plot_surface 可能同意的东西。

python list matplotlib surface

6
推荐指数
1
解决办法
6483
查看次数

python关键字字符串格式与'%'混淆错误:不支持的格式字符'p'

我有以下设置

cred_dict={'admin_id':'user','admin_password':'pass'}

cred_template='-id=%(admin_id) -pa=%(admin_password)'
Run Code Online (Sandbox Code Playgroud)

当我尝试

cred_template % cred_dict
Run Code Online (Sandbox Code Playgroud)

我明白了

ValueError: unsupported format character 'p' (0x70) at index 17
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么.

python string string-formatting

3
推荐指数
1
解决办法
669
查看次数

当用户在admins组中时,ctypes.windll.shell32.IsUserAdmin()不返回1

我正在尝试使用

ctypes.windll.shell32.IsUserAdmin()

确定正在运行的进程是否由Admins组中的用户启动,但是我得到的结果不一致/不正确.

在Windows 7专业版安装中,当以非管理员但又管理员组的memebr的用户身份登录时,我得到

>>> ctypes.windll.shell32.IsUserAnAdmin()
0
Run Code Online (Sandbox Code Playgroud)

但是该用户位于管理员组中.

当以管理员身份登录时,我在Windows Server 2008计算机上得到了预期的答案;

>>> ctypes.windll.shell32.IsUserAnAdmin()
1
Run Code Online (Sandbox Code Playgroud)

有没有人知道/有任何提示,为什么我在win7框中返回0,即使用户在administartors组?

  • 我想知道问题是否可以由本地与域管理员/团队的某些互动引起,但我的知识充其量只是粗略的..

谢谢,

马特.

python windows ctypes administrator

2
推荐指数
1
解决办法
2185
查看次数