小编Bio*_*eek的帖子

是否有用Python编写的GEDCOM解析器?

GEDCOM是交换家谱数据的标准.

我发现了解析器

但到目前为止还没有用Python编写.我最接近的是来自GRAMPS项目的文件libgedcom.py,但是对GRAMPS模块的引用如此之多,以至于我无法使用它.

我只想要一个用Python编写的简单的独立GEDCOM解析器库.这存在吗?

python parsing genealogy gedcom

18
推荐指数
3
解决办法
4078
查看次数

R程序员的R陷阱

我主要使用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)

还有其他陷阱我需要注意吗?

python r

16
推荐指数
3
解决办法
4744
查看次数

最接近零的两种产品之间的差异:非强力解决方案?

挪威的一个科学博物馆,我遇到了以下数学游戏:

在此输入图像描述

目标是将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)

python algorithm brute-force

15
推荐指数
1
解决办法
372
查看次数

在Linux上使用Python3.6进行回溯的ModuleNotFoundError

我使用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)

exception-handling python-3.x python-3.6

12
推荐指数
3
解决办法
2万
查看次数

Lucene queryparser在查询条件中带有"/"

当我尝试在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)

我需要做什么才能让它解析"/"?

lucene query-parser

11
推荐指数
1
解决办法
9674
查看次数

使用Parameters从DbCommand获取SQL查询字符串

就在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)

c# mysql sql

11
推荐指数
1
解决办法
1万
查看次数

错误:不变违规:findAllInRenderedTree(...):实例必须是复合组件

在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)

有谁在那里帮我解决这个问题?

reactjs jestjs reactjs-testutils

11
推荐指数
2
解决办法
2680
查看次数

将编码参数添加到logging.basicConfig

如何添加encoding参数logging.basicConfig

我发现这个错误报告说明现在可以用于Python 3.3.我需要这个用于Python 2.7,并且bug报告说要使用自定义logging.FileHandler对象,但我无法让它工作.

python logging

10
推荐指数
3
解决办法
9918
查看次数

获取反向列表的长度

获取反向列表的长度不起作用:

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会抛出该异常呢?

python list python-2.7

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

正则表达式:带可选部分的字符串

我试图解析一些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)

无论是ArgumentsReturns部分都是可选的.我希望我的正则表达式以组的形式返回描述(第一行),Arguments部分(如果存在)和Returns部分(如果存在).

我现在的正则表达式是:

m = re.search('(.*)(Arguments:.*)(Returns:.*)', s, re.DOTALL)
Run Code Online (Sandbox Code Playgroud)

如果所有三个部件都存在但是一旦失败ArgumentsReturns部件不可用则起作用.我曾尝试使用非贪婪修饰符的几种变体,??但无济于事.

编辑:Arguments …

python regex

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