小编Raz*_*zer的帖子

从子文件夹导入模块

我想将子文件夹导入为模块.因此每个子文件夹都包含一个__init__.py.我的文件夹结构是这样的:

src\
  main.py
  dirFoo\
    __init__.py
    foofactory.py
    dirFoo1\
      __init__.py
      foo1.py
    dirFoo2\
      __init__.py
      foo2.py
Run Code Online (Sandbox Code Playgroud)

在我的主脚本中我导入

from dirFoo.foofactory import FooFactory
Run Code Online (Sandbox Code Playgroud)

在这个工厂文件中,我包含子模块:

from dirFoo1.foo1 import Foo1
from dirFoo2.foo2 import Foo2
Run Code Online (Sandbox Code Playgroud)

如果我调用我的foofactory我得到错误,那python无法导入子模块foo1和foo2:

Traceback (most recent call last):
  File "/Users/tmp/src/main.py", line 1, in <module>
from dirFoo.foofactory import FooFactory
  File "/Users/tmp/src/dirFoo/foofactory.py", line 1, in    <module>
from dirFoo1.foo1 import Foo1
    ImportError: No module named dirFoo1.foo1
Run Code Online (Sandbox Code Playgroud)

python import module subdirectory

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

如何grep和执行命令(对于每个匹配)

如何在一个文件中grep并为每个匹配命令执行?

文件:

foo
bar
42
foo
bar
Run Code Online (Sandbox Code Playgroud)

我想执行例如date为每个匹配执行foo.

以下尝试不起作用:

grep file foo | date %s.%N
Run Code Online (Sandbox Code Playgroud)

怎么做?

grep

36
推荐指数
4
解决办法
4万
查看次数

Assert.That vs Assert.True

更喜欢什么:

Assert.That(obj.Foo, Is.EqualTo(true))
Run Code Online (Sandbox Code Playgroud)

要么

Assert.True(obj.Foo)
Run Code Online (Sandbox Code Playgroud)

对我来说,两个断言都是等价的,那么哪一个应该是首选的?

c# nunit unit-testing

36
推荐指数
4
解决办法
4万
查看次数

根据两个元素对元组列表进行排序

可能重复:
python:如何在两个不同的键上对复杂列表进行排序

我有一个元组列表.我想根据两个元素对它们进行排序.以下是示例

unsorted = [('a', 4, 2), ('a', 4, 3), ('a', 7, 2), ('a', 7, 3), ('b', 4, 2), ('b', 4, 3), ('b', 7, 2), ('b', 7, 3)]
sorted   = [('a', 4, 2), ('b', 4, 2), ('a', 4, 3), ('b', 4, 3), ('a', 7, 2), ('b', 7, 2), ('a', 7, 3), ('b', 7, 3)]
Run Code Online (Sandbox Code Playgroud)

我知道如何在第二个元素上对它们进行排序:

sorted(unsorted, key = lambda element : element[1])
Run Code Online (Sandbox Code Playgroud)

但如何用两把钥匙做到这一点?

python sorting tuples python-3.x

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

需要好的PyQt教程

我开始进入PyQt.因此我需要一些很好的教程.我搜索了一下,但没有找到任何好处.大多数教程只发布"完整"应用程序,但没有详细说明.

你能告诉我一些吗?

目前正在编程中Notepad++.与PyQt结合使用python时,是否有更好的轻量级编辑器或简单的IDE?

python user-interface pyqt

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

多级相对导入

多级相对导入

我有以下文件夹结构

top\
   __init__.py
   util\
      __init__.py
      utiltest.py
   foo\
      __init__.py
      foo.py
      bar\
         __init__.py
         foobar.py
Run Code Online (Sandbox Code Playgroud)

我想从foobar.py模块访问utiltest.py.我试过跟随相对导入,但这不起作用: from ...util.utiltest import *

我总是得到 ValueError: Attempted relative import beyond toplevel package

怎么做这样的多重相对导入?

python relative-path python-packaging

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

为什么模运算返回意外值

为什么以下代码打印255

#include <stdint.h>
#include <stdio.h>

int main(void) {
  uint8_t i = 0;
  i = (i - 1) % 16;
  printf("i: %d\n", i);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我假设15,虽然i - 1评估为整数.

c gcc modulo

16
推荐指数
2
解决办法
1053
查看次数

如何在Java中复制队列?

我有一个Queueq1,我想创建一个QueueQueueq1 相同的q2.如何做到这一点,因为Queue没有实现Cloneable.

java queue clone cloneable

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

PyDev离线安装

我有一台没有连接到互联网的Windows机器.出于安全原因,也无法将此机器连接到互联网.

如何在PyDev没有网络连接的情况下安装?

python eclipse windows pydev

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

在C#中实现方法装饰器

python可以实现function decorators扩展功能和方法的行为.

特别是我正在将设备lib迁移pythonC#.与设备的通信可能会产生错误,应该使用自定义异常重新启动.

python我会写这样的:

@device_error_wrapper("Device A", "Error while setting output voltage.")   
def set_voltage(self, voltage):
    """
    Safely set the output voltage of device.
    """
    self.__handle.write(":source:voltage:level {0}".format(voltage))
Run Code Online (Sandbox Code Playgroud)

此方法调用将扩展为

try:
    self.__handle.write(":source:voltage:level {0}".format(voltage))
except Error:
    raise DeviceError("Error while setting output voltage.", "DeviceA")
Run Code Online (Sandbox Code Playgroud)

使用此模式,您可以轻松地包装和扩展方法,而无需try-except在每个方法中编写每个子句.

是否可以使用C#?实现类似的模式?

如果需要实现decorator(device_error_wrapper),请告诉我们.

c# python design-patterns decorator

9
推荐指数
2
解决办法
4366
查看次数