Python

Python argparse的一个问题?在遇到未预期的关键字参数 'nargs' 时,'nargs' 和 'action' 会崩溃

请做个基本的自检。 这段代码: import argparse def parse_cmd_line(): parser = argparse.ArgumentParser( ) parser.add_argument('-c', '--create', nargs='*', action="store_true") args, flist = parser.parse_known_args() if __name__ == "__main__" : parse_cmd_line() 在执行时:pytho

尽管配置了 `colors=False`,structlog的 ConsoleRenderer仍然把带有颜色控制码的堆栈跟踪信息写入到文件中

我正在将日志输出到两个目标:控制台和日志文件,正如structlog文档在 [本节] 中所建议的最终方案所示: def configure_logging(verbosity: int, config: LogOptions): console_log_level = max(logging.DEBUG, logging.WARNING - verbosity * 10) assert logging.DEBUG <= console_log_level <= logging.WARNING file_l

如何在Python中事先读取I2C消息的长度和头部

我有一个工具,用来与我用Python实现的I2C从设备进行交互。这个从设备不是一台PC,而是一个自定义设备(不过我无法获得编辑该设备的软件的权限)。目前,我被迫在每条I2C消息中读取任意数量的字节。我需要能够最多读取4000字节,因此如果对所有消息都设为4000,就会造成过大的延迟。 我需要能够在读取完整消息之前读取I2C头中的长度字节,以便确定要读取多少字节。问题在于,一旦读取,I2C邮箱就会被清空,因此我不能简单地把读取代码写成两段——一次用于头部,一次用于完整的消息及其载荷。 下面是我的I2C读取函

librecalc Python读取公式,而不是单元格的值

环境:librecalc 25.2.3.2 x86,Windows 11 Pro 25h2,Python 3.10.17(随LibreOffice一起提供,并从libreoffice\program运行) librecalc电子表格在单元格 [I1] 中有一个公式。 ==INDIRECT(CONCATENATE("A";MATCH(0;D6:D163;-1)+12)) 得到的单元格值是D 列中下一个空单元格的地址。该地址将作为写入传感器数据时使用的目标单元格地址,使用 sheet.set_cell_val

为什么在终端以asyncio模式运行时,Python 3.13.8会抛出缩进错误(IndentationError)?

使用Python >=3.13.0(尝试过3.11.14、3.12.10、3.13.0、3.13.8和 3.14.0a5),当我尝试让终端以异步模式运行时,在尝试启动一个 async with 代码块时,会抛出一个 IndentationError。 编辑: 抱歉,我以为这点很清楚,但其实我是用uv运行Python,例如:uv run --python 3.13.0 python -m asyncio。关键概念是 -m asyncio,它会在启动Python时自动加载这个模块 Using CPython

在Windows 10的 Python 3.12中加载32位 DLL

我正在尝试加载一个32位的C 动态链接库,在Windows 7下使用Python 2.7的 32位版本时很简单: driver = ctypes.cdll.LoadLibrary("VBridge.dll") driver.Connect() 我和 msl-loadlib 的模块开发者有一个讨论串,我们正在寻找功能等价的3.10版代码。 加载的附加DLL与主DLL位于同一目录。厂商的测试应用程序也在同一目录下,使用相同的库就能正常运行。额外的复杂性在于Python 3.10是 64位的,但即使是 [msl

为什么在isinstance() 中可以对一个非运行时可检查的协议(该协议包含非方法成员)进行检查?

我有如下代码 from typing import Protocol, runtime_checkable @runtime_checkable class A(Protocol): def f(self): ... class B: def f(self): ... if __name__ == '__main__': assert isinstance(B(), A) 如果我移除runtime_checkable装饰器,会得到如下异常: TypeError: Instance and class ch

在Python中,是否有办法查找是否有包在使用某个特定的模块名?

我在想,是否有可能在PyPi或其他Python包数据库中搜索,看看是否已经有包在使用模块名 com。 我之所以想做这件事,是因为LibreOffice将对Python的 API暴露出来,采用一种类似Java的风格,其中类被命名空间化为域名,如 com.sun.star.uno.XInterface,因此你可以像这样使用 from com.sun.star.uno import XInterface。目前这是通过替换 __import__ 内置实现的,使得 com 不是一个真正的模块。我想提出一个 补丁 来

如何在Python中使用matplotlib根据文件中的数据绘制一个二维图?

我正在做一个Python项目,需要使用matplotlib生成一个二维图。 数据存储在一个包含两列(x和 y值)的文本文件中。 示例文件: 1 10 2 20 3 30 4 40 如何从文件中读取数据并使用matplotlib绘制? 我的尝试: import matplotlib.pyplot as plt # read file here plt.plot(x,y) plt.show() 解决方案 嗯,这只是一个非常简陋的尝试。 with open('', 'r')

在Fedora Linux上启动Jupyter Notebook时出错

我刚把Fedora从 41升级到43版本,在启动Jupyter Notebook时遇到了下面的错误信息: Traceback (most recent call last): File "/home/hasek/.local/bin/jupyter-notebook", line 5, in from notebook.app import main ModuleNotFoundError: No module named 'notebook' 我该如何解决?如果还需要我提供其他输出,请