小编ami*_*tas的帖子

为什么datetime.datetime.utcnow()不包含时区信息?

datetime.datetime.utcnow()
Run Code Online (Sandbox Code Playgroud)

为什么没有datetime任何时区信息,因为它明确是UTC datetime

我希望这会包含tzinfo.

python datetime

251
推荐指数
7
解决办法
13万
查看次数

处理cython中的默认参数

我使用cython包装一些c ++代码,我不确定使用默认值处理参数的最佳方法是什么.

在我的c ++代码中,我有参数具有默认值的函数.我想以这样的方式包装它们,如果没有给出参数,则使用这些默认值.有没有办法做到这一点?

在这一点上,我能看到提供选项参数的唯一方法是将它们定义为python代码的一部分(在下面的def funcpycode.pyx中的声明中),但是我有多次定义的默认值,我不想要.

cppcode.h:

int init(const char *address=0, int port=0, int en_msg=false, int error=0);
Run Code Online (Sandbox Code Playgroud)


pycode_c.pxd:

cdef extern from "cppcode.h":
int func(char *address, int port, int en_msg, int error)
Run Code Online (Sandbox Code Playgroud)


pycode.pyx:

cimport pycode_c
def func(address, port, en_msg, error):
    return pycode_c.func(address, port, en_msg, error)
Run Code Online (Sandbox Code Playgroud)

c++ python cython

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

在python中处理文件时保留行尾样式

我正在寻找一种方法来确保在读取,编辑和编写时在python程序中维护文件的行尾样式.

Python具有通用文件结束支持,可以将所有行结尾转换\n为文件读取时,然后在写入文件时将它们全部转换为系统默认值.在我的情况下,我想仍然进行初始转换,但然后使用原始EOL样式而不是系统默认值编写文件.

有没有标准的方法来做这种事情?如果没有,是否有一种标准方法来检测文件的EOL样式?

假设没有标准的方法可以做到这一点,可能的工作流程将是:

  1. 以二进制模式读入文件.
  2. 解码为utf-8(或任何需要的编码).
  3. 检测EOL风格.
  4. 将所有行结尾转换为\n.

  5. 做文件的东西.

  6. 将所有行结尾转换为原始样式.

  7. 编码文件.
  8. 以二进制模式写入文件.

在这个工作流程中,执行第2步的最佳方法是什么?

python line-endings

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

来自父包的python导入模块

我有以下目录结构

foo/
    __init__.py
    settings.py
    bar/
        __init__.py
        myfile.py
Run Code Online (Sandbox Code Playgroud)

在myfile.py我有:导入设置

我收到以下错误:ImportError: No module named settings为什么?我怎样才能有效地导入settings文件myfile.py

python import module parent package

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

创建将添加到Doxygen中的节的新自定义命令

我想在Doxygen中创建一个类似于\fn \param或的自定义命令\var.

例如,我希望能够创建一个\option命令,我将使用如下:

/**
  \option option_1 This is the first option.
  \option option_2 This is the second option.
*/
Run Code Online (Sandbox Code Playgroud)

输出如下:

     选项:
          option_1这是第一个选项.
          option_2这是第二个选项.




简单的替换别名不起作用.例如,使用此别名:

ALIASES = option="\par Options:\n" 
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

     选项:
          option_1这是第一个选项.

     选项:
          option_2这是第二个选项.

这不是我要找的.


BOUNTY:

如果需要进一步说明,请参阅我的问题:Doxygen - 创建自定义命令

doxygen

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

取消所有未完成的QTimer活动

我正在寻找一种方法来设置pyqt中的多个定时函数调用,并在需要时取消所有挂起的调用.

我正在寻找使用QtCore.QTimer设置函数调用,但我不知道取消这些调用的任何好方法.有任何想法吗?



使用后我似乎找不到任何取消的方法QtCore.QTimer.singleShot(1000, self.function).如果我创建了一个QTimer对象列表,我可以阻止它们,但后来我被迫管理一个计时器对象列表(创建,删除,它们是活动的等等),我想避免.

# Setup a timer object.
timer = QtCore.QTimer(self)
timer.timeout.connect(self.function)
timer.setSingleShot(True)
timer.start(1000)

# To stop the timer object at some later point.
timer.stop()
Run Code Online (Sandbox Code Playgroud)


我还可以管理自己的挂起函数调用队列,如果可能的话我也想避免(为了简单起见).



这是一些虚拟代码,显示了我想要做的事情:

import sys
from PyQt4 import QtCore

class Test(QtCore.QObject):

    def __init__(self, parent=None):
        QtCore.QObject.__init__(self, parent)


    def addDelayedCall(self, time, function):
        # Do something here.
        pass


    def clearPendingCalls(self):
        print('  Clearing pending function calls.')
        # Do something here.


    def setupCalls(self):
        self.addDelayedCall(500, self.dummy)
        self.addDelayedCall(1000, self.dummy)
        self.addDelayedCall(1500, self.dummy)
        self.addDelayedCall(2000, self.dummy)


    def dummy(self):
        print('dummy …
Run Code Online (Sandbox Code Playgroud)

qt pyqt

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

获取数组中零和非零元素的索引

我需要找到数组的零和非零元素的指标.

换句话说,我想找到补充指数numpy.nonzero().

我知道这样做的方式如下:

indices_zero = numpy.nonzero(array == 0)
indices_nonzero = numpy.nonzero(array != 0)
Run Code Online (Sandbox Code Playgroud)

然而,这意味着搜索数组两次,这对于大型数组来说效率不高.使用numpy有一种有效的方法吗?

python numpy

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

numpy.array()的简写表示法

是否有任何可接受的简写符号numpy.array()?对于我来说,与专用数值语言相比,使用numpy的最大缺点是没有用于数组创建的紧凑符号.

我典型的详细用法是:

import numpy as np
a = np.array([1,2,3])
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供现有成熟项目中使用的numpy数组创建的简写表示法示例吗?

python numpy

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

在 toctree 中添加 self 的子部分

我在获取目录 (TOC) 以显示文档首页的小节时遇到问题。

我的首页上有许多部分,我希望这些部分显示在 TOC 中。小节的显示适用于 TOC 中包含的所有其他页面,但不适用于 self.

我的index.rst代码:

=====
Title
=====

Subsection
----------

Some documentation.

Contents
--------

.. toctree::
   :maxdepth: 2

   self
   development
Run Code Online (Sandbox Code Playgroud)

我希望在 TOC 中看到的是:

  • 标题
    • 小节
    • 内容
  • 发展
    • 小节

相反,我得到的是:

  • 标题
  • 发展
    • 小节

到目前为止,我找到了一种解决方案,但并不令人满意。我可以将所有内容放在一个单独的页面中,然后将内容包含在index.rstusing.. include:指令中,并将单独的页面放在 TOC 中。这使 TOC 看起来正确,但会创建一个重复的页面,该页面现在包含在导航中(上一页/下一页)。

restructuredtext sections python-sphinx toctree

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