我有一个有一些文字,看起来像这样一个HTML文件(通过它运行后lxml.html parse,lxml.html clean和这的结果etree.tostring(table, pretty_print=True))
<tr><td>
224
9:00 am
-3:00 pm
NPHC Leadership</td>
<td>
<font>ALSO IN 223; WALL OPEN</font></td>
Run Code Online (Sandbox Code Playgroud)
我在lxml上找到的文档有点不稳定.我已经能够做到相当多的去了这一点,但我想这样做是去掉除了所有的标签<table>,<td>和<tr>.我还想从这些标签中删除所有属性,我也想摆脱实体,例如 .
要删除当前使用的属性:
etree.strip_attributes(tree, 'width', 'href', 'style', 'onchange',
'ondblclick', 'class', 'colspan', 'cols',
'border', 'align', 'color', 'value',
'cellpadding', 'nowrap', 'selected',
'cellspacing')
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,但似乎应该有一个更好的方法.似乎应该有一些相当简单的方法来做我想要的,但我找不到任何适合我的例子.
我尝试过使用Cleaner,但是当我通过它时allow_tags,像这样:
错误:Cleaner(allow_tags=['table', 'td', 'tr']).clean_html(tree)它给了我这个错误:
ValueError: It does not make sense to pass in both allow_tags and remove_unknown_tags.另外,当我添加时,remove_unkown_tags=False我收到此错误: …
所以我听说过使用Git 的每个功能分支工作流程,我也读到了为什么这可能是一个坏主意的一些原因.
我真正的问题是 - 如果我正在开发一个小功能(如简单的正则表达式时间解析器),在将此分支合并回主干之后,该分支会发生什么(或应该发生什么)?它只是坐在那里吗?因为我为那个非常具体的功能创建了它,所以我想不出有一个原因我必须回去使用分支.我应该以某种方式将这个分支标记为已经不存在,或者我只是继续前进而忘记它?
谢谢
我在GNU GCC编译器中使用Code Block.我正在尝试这个代码
int number,temp;
printf("Enter a number :");
scanf("%d",&number);
temp = sqrt(number);
printf("\n%d",sqrt(number)); //print 987388755 -- > wrong result
printf("\n%d",temp); //print 3 -- > write result
return 0;
Run Code Online (Sandbox Code Playgroud)
并且在此代码中有输入值10的结果
987388755
3
Run Code Online (Sandbox Code Playgroud)
这段代码有什么问题?
我有一个用Python3编写的简单Web服务器(使用类http.server),我将从2移植到3.
我有以下代码:
# More code here...
postvars = cgi.parse_qs(self.rfile.read(length),
keep_blank_values=1)
something.json_run(json.dumps(postvars))
Run Code Online (Sandbox Code Playgroud)
哪个投掷:
TypeError: keys must be a string
Run Code Online (Sandbox Code Playgroud)
通过检查数据,我已经确定parse_qs似乎将密钥编码为字节,这就是抛出错误(json显然不喜欢字节).
import json
json.dumps({b'Throws error' : [b"Keys must be a string"]})
json.dumps({'Also throws error': [b'TypeError, is not JSON serializable']})
json.dumps({'This works': ['No bytes!']})
Run Code Online (Sandbox Code Playgroud)
这里最好的解决方案是什么?使用Python 2,代码工作正常,因为parse_qs使用str而不是bytes.我最初的想法是我可能需要编写一个JSON序列化程序.并不是说这么简单的事情很困难,但我不愿意,如果我能用其他方式做到这一点(例如将字典翻译为使用字符串而不是字节).
我正在使用Python和unittest模块进行TDD .在NUnit中你可以Assert.Inconclusive("This test hasn't been written yet").
到目前为止,我还没有在Python中找到类似的东西来表示"这些测试只是占位符,我需要回来并实际将代码放入其中."
这是否有Pythonic模式?
我正在使用Flask与Flask-WTForms,我正在编写一个管理页面,可以更新用户的值 - 包括密码.
我正在使用我用于注册的相同表单页面,但由于不必更新密码,我不想要它.使用Flask-WTForms进行此操作的正确方法是什么?
我已经进入UserForm了forms.py,我正在考虑制作一个自定义验证器,并且有一个文件级require_password选项可以覆盖默认检查.我是WTForms的新手,对Flask来说有点新鲜.
我试图使用子进程调用Vim,并传递一个参数.例如:
subprocess.call(['gvim.exe', ''' "+map <F5> :echo 'Hello!'<cr>" '''])
Run Code Online (Sandbox Code Playgroud)
此命令适用于命令行:
> gvim.exe "+map <F5> :echo 'Hello!'<cr>"
Run Code Online (Sandbox Code Playgroud)
然后我打了F5它,它告诉我你好.
子进程调用不起作用.当我在任务管理器中查看进程时,我看到我的字符串现在是:
"\" +map <F5> :echo 'Hello!'<cr>\""
Run Code Online (Sandbox Code Playgroud)
完全不是我的预期,我也不认为这是Vim所期望的.它看起来像子以某种方式逃避我的报价,但我不知道为什么.
有什么方法可以像我期望的那样让它发挥作用吗?
我正在尝试使用熊猫绘制一些直方图。这是一些示例代码,其执行的操作与我正在执行的操作类似:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
ts = pd.Series(np.random.randn(1000), index=pd.date_range('2018-10-14', periods=1000))
df = pd.DataFrame(np.random.randn(1000, 6), index=ts.index, columns=['A', 'B', 'C', 'D', 'E', 'F'])
df = df.cumsum()
df.hist()
Run Code Online (Sandbox Code Playgroud)
数据以良好的直方图显示,但有一个小问题:
我在顶部的直方图标签与下一行底部的X轴标签重叠。
我希望能够在这些之间添加一些间距,但是我还没有找到有关如何执行此操作的任何信息。
如何使用pandas和matplotlib增加地块之间的填充?
到目前为止,我还没有找到一个明确的答案,尽管答案可能是"改变你的工作流程".
我刚刚开始玩Mercurial的补丁队列,我可以看到它的一些重要力量.这看起来非常棒.在我的测试中,我发现如果你有一个补丁队列repo1,并且你从中拉出来repo2,你可以做一些坏事.例如:
repo1repo1repo2repo1取消应用(弹出?)所有补丁repo2现在你会看到两个不同的分支 - 从某个角度看是有道理的.然而,由于我的补丁不是repo1历史的一部分(至少在它们被应用之前),似乎应该有办法告诉mercurial我的补丁是禁止的,并且只提供"官方历史".
有没有办法做到这一点?
3.5 Collections.Generic.SortedList的.NET文档
在文档中,它明确指出"ElementAt"是SortedList成员的扩展方法.嗯,我有一个,因此宣布:
private SortedList<int, ChainLink> linksByLevel = new SortedList<int, ChainLink>();
Run Code Online (Sandbox Code Playgroud)
我试着得到最后一个元素:
ChainLink lastLink = linksByLevel.ElementAt(linksByLevel.Count - 1);
Run Code Online (Sandbox Code Playgroud)
编译器会抛出大量有用的消息:
错误1'System.Collections.Generic.SortedList'不包含'ElementAt'的定义,并且没有
System.Collections.Generic.SortedList<int,ChainLink>'可以找到接受类型'的第一个参数的扩展方法'ElementAt' (您是否缺少using指令或程序集引用?)
我得到由微软的文档,我的编译器在缺乏连贯性非常沮丧,很想咆哮有关的API之间的矛盾SortedList和SortedList<T1, T2>,但我怀疑这会增加多少价值,我的问题.只相信我,这很令人沮丧: -
python ×6
.net ×1
c ×1
c# ×1
dvcs ×1
flask ×1
function ×1
git ×1
git-branch ×1
html-parsing ×1
json ×1
lxml ×1
matplotlib ×1
mercurial ×1
pandas ×1
patch ×1
python-3.x ×1
sortedlist ×1
sqrt ×1
subprocess ×1
tdd ×1
unit-testing ×1
vim ×1
wtforms ×1