GEDCOM是交换家谱数据的标准.
我发现了解析器
但到目前为止还没有用Python编写.我最接近的是来自GRAMPS项目的文件libgedcom.py,但是对GRAMPS模块的引用如此之多,以至于我无法使用它.
我只想要一个用Python编写的简单的独立GEDCOM解析器库.这存在吗?
我主要使用Python进行编程,但我现在正在学习统计编程语言R.我注意到了那些倾向于绊倒我的语言之间的差异.
假设v是一个向量/数组,其整数从1到5(含).
v[3] # in R: gives me the 3rd element of the vector: 3
# in Python: is zero-based, gives me the integer 4
v[-1] # in R: removes the element with that index
# in Python: gives me the last element in the array
Run Code Online (Sandbox Code Playgroud)
还有其他陷阱我需要注意吗?
目标是将10位从0到9放置,使得两个乘积之间的差异最接近零.(246是目前的最低分).
回到家里,我写了以下蛮力代码:
import time
from itertools import permutations
def form_number(x, y, z, a, b):
# not explicitly stated, but presume that leading zeroes are not allowed
if x == 0 or a == 0:
return 0
return ((100 * x) + (10 * y) + z) * ((10 * a) + b)
def find_nearest_zero(*args):
assert len(args) == 10
return form_number(*args[:5]) - form_number(*args[5:])
if __name__ == '__main__':
start = time.time()
count = 0
for p in …Run Code Online (Sandbox Code Playgroud) 我使用Jonathon Fernyhough的PPA 在Ubuntu 16.04上安装了Python 3.6:
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
Run Code Online (Sandbox Code Playgroud)
我使用新的文字字符串插值创建了一个字符串,但是我提供了一个无效的格式说明符.我不仅得到了预期ValueError: Invalid format specifier,而且出乎意料ModuleNotFoundError: No module named 'apt_pkg'.
$ python3.6
Python 3.6.0 (default, Dec 29 2016, 21:40:36)
[GCC 5.4.1 20161202] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> value = 4 * 20
>>> f'the value is {value:%A}'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: Invalid format specifier
Error in …Run Code Online (Sandbox Code Playgroud) 当我尝试在Lucene中搜索诸如"workaround/fix"之类的内容时,会抛出此错误:
org.apache.lucene.queryparser.classic.ParseException: Cannot parse 'workaround/fix': Lexical error at line 1, column 15. Encountered: <EOF> after : "/fix"
at org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:131)
at pi.lucengine.LucIndex.main(LucIndex.java:112)
Caused by: org.apache.lucene.queryparser.classic.TokenMgrError: Lexical error at line 1, column 15. Encountered: <EOF> after : "/fix"
at org.apache.lucene.queryparser.classic.QueryParserTokenManager.getNextToken(QueryParserTokenManager.java:1133)
at org.apache.lucene.queryparser.classic.QueryParser.jj_scan_token(QueryParser.java:599)
at org.apache.lucene.queryparser.classic.QueryParser.jj_3R_2(QueryParser.java:482)
at org.apache.lucene.queryparser.classic.QueryParser.jj_3_1(QueryParser.java:489)
at org.apache.lucene.queryparser.classic.QueryParser.jj_2_1(QueryParser.java:475)
at org.apache.lucene.queryparser.classic.QueryParser.Clause(QueryParser.java:226)
at org.apache.lucene.queryparser.classic.QueryParser.Query(QueryParser.java:181)
at org.apache.lucene.queryparser.classic.QueryParser.TopLevelQuery(QueryParser.java:170)
at org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:121)
Run Code Online (Sandbox Code Playgroud)
这是我的第111和112行:
QueryParser parser = new QueryParser(Version.LUCENE_43, field, analyzer);
Query query = parser.parse(newLine);
Run Code Online (Sandbox Code Playgroud)
我需要做什么才能让它解析"/"?
就在C#中对MySQL数据库执行SQL查询之前,我想记录将要执行的查询.我现在所拥有的只是记录SELECT * FROM foo WHERE Id = @Id我希望看到的地方SELECT * FROM foo WHERE Id = 5.我怎么做?
DbCommand dbCommand = dbFactory.CreateCommand();
dbCommand.CommandText = "SELECT * FROM foo WHERE Id = @Id";
DbParameter param = dbCommand.CreateParameter();
param.ParameterName = "@Id";
param.Value = 5;
dbCommand.Parameters.Add(param);
dbConnection.Open();
Log.AddVerbose(String.Format("SQL query: {0}", dbCommand.CommandText));
dbCommand.ExecuteReader();
Run Code Online (Sandbox Code Playgroud) 在JEST for React文件中编写测试用例时,我收到此错误.以下是我的示例代码:
search_basr_test.js
jest.autoMockOff();
global.React = require('react/addons');
jest.setMock('../stores/browser_store.jsx');
beforeEach(function() {
var search_bar = require('../components/search_bar.jsx');
});
var TestUtils = React.addons.TestUtils;
describe("Test", function() {
it("should render Test", function() {
var test = TestUtils.renderIntoDocument(<search_bar/>);
expect(test).toBeDefined();
});
it("renders a list in a box with proper CSS classes", function() {
var test = TestUtils.renderIntoDocument(<search_bar/>);
let box = TestUtils.findRenderedDOMComponentWithTag(test, "div");
expect(box.className).toEqual("sidebar__collapse");
});
});
Run Code Online (Sandbox Code Playgroud)
search_bar.jsx
return (
<div>
<div
className='sidebar__collapse'
onClick={this.handleClose}
>
<span className='fa fa-angle-left'></span>
</div>
<span
className='search__clear'
onClick={this.clearFocus}
>
{'Cancel'}
</span>
}
Run Code Online (Sandbox Code Playgroud)
有谁在那里帮我解决这个问题?
如何添加encoding参数logging.basicConfig?
我发现这个错误报告说明现在可以用于Python 3.3.我需要这个用于Python 2.7,并且bug报告说要使用自定义logging.FileHandler对象,但我无法让它工作.
获取反向列表的长度不起作用:
lst = [1,2,3]
lst = reversed(lst)
print len(lst)
Run Code Online (Sandbox Code Playgroud)
投 TypeError: object of type 'listreverseiterator' has no len()
解决方法是:
lst = [1,2,3]
lst_length = len(lst)
lst = reversed(lst)
print lst_length
# OR
lst = lst[::-1]
print len(lst)
Run Code Online (Sandbox Code Playgroud)
现在我真正的问题是为什么?
简单地反转列表不会改变列表的长度,
那么为什么Python会抛出该异常呢?
我试图解析一些docstrings.
一个示例文档字符串是:
Test if a column field is larger than a given value
This function can also be called as an operator using the '>' syntax
Arguments:
- DbColumn self
- string or float value: the value to compare to
in case of string: lexicographic comparison
in case of float: numeric comparison
Returns:
DbWhere object
Run Code Online (Sandbox Code Playgroud)
无论是Arguments和Returns部分都是可选的.我希望我的正则表达式以组的形式返回描述(第一行),Arguments部分(如果存在)和Returns部分(如果存在).
我现在的正则表达式是:
m = re.search('(.*)(Arguments:.*)(Returns:.*)', s, re.DOTALL)
Run Code Online (Sandbox Code Playgroud)
如果所有三个部件都存在但是一旦失败Arguments或Returns部件不可用则起作用.我曾尝试使用非贪婪修饰符的几种变体,??但无济于事.
编辑: 当Arguments …
python ×6
algorithm ×1
brute-force ×1
c# ×1
gedcom ×1
genealogy ×1
jestjs ×1
list ×1
logging ×1
lucene ×1
mysql ×1
parsing ×1
python-2.7 ×1
python-3.6 ×1
python-3.x ×1
query-parser ×1
r ×1
reactjs ×1
regex ×1
sql ×1