小编chr*_*oup的帖子

Pycharm中的多个右边距

我正在学习Pycharm Community Edition 3.4,我想知道是否有可能只有一个评论和文档字符串的余地,另外还有其余代码的常规保证金.

我问,因为我试图坚持PEP8指南,每条评论72个字符,常规代码79.我不断改变72/79之间的正确边距,以确保一切都很好,但我发现效率不高.

提前致谢.

python pep8 pycharm

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

Python中的递归函数:获取特定嵌套项列表的最佳方法

我有一个嵌套字典树.这是一个小提取物,只是为了给你一个想法:

db = {
    'compatibility': {
        'style': {
            'path_to_file': 'compatibility/render/style.py',
            'checksum': {
                '0.0.3':'AAA55d796c25ad867bbcb8e0da4e48d17826e6f9fce',
                '0.0.2': '55d796c25ad867bbcb8e0da4e48d17826e6f9fe606',}}},
    'developer': {
        'render': {
            'installation': {
                'path_to_file': 'developer/render/installation.py',
                'checksum': {
                    '0.0.1': 'c1c0d4080e72292710ac1ce942cf59ce0e26319cf3'}},
            'tests': {
                'path_to_file': 'developer/render/test.py',
                'checksum': {
                    '0.0.1': 'e71173ac43ecd949fdb96cfb835abadb877a5233a36b115'}}}}}
Run Code Online (Sandbox Code Playgroud)

我想获得嵌套在树中的所有字典模块的列表.这样我就能循环列表并测试每个文件的校验和(注意模块可能处于不同的级别,如上例所示).

为此,我编写了以下递归函数.我知道每个模块都有一个"path_to_file"和"checksum"键,所以我用它来测试dict是否是一个模块.请注意,我必须将递归函数包装在另一个保存列表的函数中,以便每次递归函数运行时都不会覆盖该列表.

def _get_modules_from_db(dictionary):
    def recursive_find(inner_dictionary):
        for k, v in inner_dictionary.iteritems():
            if (isinstance(v, dict) and
                    not sorted(v.keys()) == ['path_to_file', 'sha512sum']):
                recursive_find(v)
            else:
                leaves.append(v)
    leaves = []
    recursive_find(dictionary)
    return leaves
Run Code Online (Sandbox Code Playgroud)

这种方法有效,但不得不包装该函数对我来说似乎非常难看.那么,我在Stack Overflow上的专业人士的问题:

是否有更简单(或更好)的方法,你建议实现这一点,而不必包装功能?

python dictionary nested

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

验证和异常与错误消息元组

我正在研究验证功能.我理解异常用于错误和意外情况,但在验证函数的情况下,如果内部不满足条件,我希望它返回False而不是异常.

问题是在验证结束后,我需要用以下消息引发一个消息窗口:"Tool exited because X condition not met".我的工作流程是返回带有结果和消息的元组:

(True, Y_message)
Run Code Online (Sandbox Code Playgroud)

或(假,X_condition_not_met)

然后:

a, b = result
if not a:
    raise_window(message=b)
Run Code Online (Sandbox Code Playgroud)

然而,最近我偶然发现多个答案引发了关于这个问题的争议,我很困惑.例如,有些人说要总是使用异常:从Python中的函数返回多个值的最佳方法是什么?和其他人说元组是最好的方法在python中获得错误与成功的返回值.

如果有人能指出我正确的方向,我将不胜感激.

python tuples exception

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

标签 统计

python ×3

dictionary ×1

exception ×1

nested ×1

pep8 ×1

pycharm ×1

tuples ×1