小编Nic*_*ell的帖子

如何在IDLE中为Python程序添加断点?

我已经解决了这个问题,我只是在这里发布,因为我无法通过谷歌或通过阅读文档来解决这个问题.我只偶然发现了它.

要添加断点,请右键单击要添加断点的行,然后选择"设置断点".该行将突出显示.(请注意,这仅在您编辑文件时有效;它在解释器中不起作用.)

该站点有一个关于使用IDLE调试器的详细教程.

在Mac上,您需要按住Control键才能而不是右键单击.

python windows breakpoints python-idle

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

如何一致地从串口中记录数据?

我需要处理两个自定义硬件,它们都通过两个串行连接发送调试数据.这些串行连接通过两个串口转USB.串口到USB设备具有相同的供应商编号,设备编号,以及显然相同的序列号.

这是问题:我想分别记录两个串口.自定义硬件需要不断重启,并且它们是否附加到自定义硬件/dev/ttyUSB*是完全随机的.我怎样才能让他们每次都选择相同的设备路径?我可以让它依赖于它插入的端口,但这看起来有点像hacky.

所以,我对udevadm的输出运行了一个diff,就像这样:

$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB1` > usb1
$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB2` > usb2
$ diff usb1 usb2
Run Code Online (Sandbox Code Playgroud)

差异的输出很长; 你可以在这里看到它

串行打字(两者相同):

$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB2` | grep serial
SUBSYSTEMS=="usb-serial"
ATTRS{serial}=="0001"
ATTRS{serial}=="0000:00:1d.7"
Run Code Online (Sandbox Code Playgroud)

其他信息:

我正在使用PuTTY从串口读取数据.
OS:

$ uname -a
Linux xxxxxxxx.localdomain 2.6.32-279.14.1.el6.x86_64 #1 SMP Tue Nov 6 23:43:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

linux putty udev

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

传递非关联函数来减少

我的程序有这一行:

Function<String, Integer> f = (String s) -> s.chars().reduce(0, (a, b) -> 2 * a + b);
Run Code Online (Sandbox Code Playgroud)

传递给reduce的函数不是关联的.Reduce的文档说传递的函数必须是关联的.

我如何将其重写为不破坏reduce合同的表达式?

java java-8 java-stream

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

如何在python中将列表插入另一个列表?

我有两个清单:

A = [1,2,3]
B = [4,5,6]
Run Code Online (Sandbox Code Playgroud)

是否有一种优雅的方式将B插入A中的任意位置?

假设输出:

[1,4,5,6,2,3]
Run Code Online (Sandbox Code Playgroud)

显然我可以迭代B并一次插入一个,但我认为有更好的方法.

python list

7
推荐指数
2
解决办法
2667
查看次数

使用 CLI 导出和导入仪表板的超级集(用于版本控制)

目标:我的目标是从超集中导出所有仪表板,以便我可以将它们保存为备份,并确保我可以导入它们。

现有设置:我从 git 克隆超集并用于docker-compose -f docker-compose-non-dev.yml up 设置和运行超集(遵循本文档

问题:使用 superset CLI:我使用此文档 连接到正在运行 superset 的现有 docker 映像,然后运行它,superset export-dashboards但它会引发以下错误:


    Loaded your LOCAL configuration at [/app/docker/pythonpath_dev/superset_config.py]
logging was configured successfully
2021-10-20 06:54:49,727:INFO:superset.utils.logging_configurator:logging was configured successfully
2021-10-20 06:54:49,732:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
/usr/local/lib/python3.8/site-packages/flask_caching/__init__.py:201: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
  warnings.warn(
Starting export
2021-10-20 06:54:50,962:INFO:superset.utils.dashboard_import_export:Starting export
Traceback (most recent call last):
  File "/usr/local/bin/superset", line 33, in <module>
    sys.exit(load_entry_point('apache-superset', 'console_scripts', 'superset')()) …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose devops apache-superset

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

耳语 AI 错误:CPU 不支持 FP16;使用 FP32 代替

我正在尝试在我的计算机上使用 耳语 AI。我有一个 NVIDIA GPU RTX 2060,安装了 CUDA 和 FFMPEG。

我正在运行这段代码:

import whisper

model = whisper.load_model("medium")
result = model.transcribe("venv/files/test1.mp3")
print(result["text"])
Run Code Online (Sandbox Code Playgroud)

并有问题:

whisper\transcribe.py:114: UserWarning: FP16 is not supported on CPU; using FP32 instead
  warnings.warn("FP16 is not supported on CPU; using FP32 instead")
Run Code Online (Sandbox Code Playgroud)

我不明白为什么不支持 FP16,因为我有一个很好的 GPU 并且安装了所有东西。任何帮助,将不胜感激。谢谢。

我安装了所有的要求,我期望耳语 AI 会使用 GPU

python speech-recognition text-to-speech openai-api openai-whisper

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

如何在Python中隐藏FFmpeg的控制台输出?

我当时正在开发一个YouTube 视频下载器Python 程序。

我想将下载的数据编码为其他媒体格式,为此我使用了FFmpegFFmpeg-Python(在 Python 中使用 FFmpeg 的包)。

一切都很好,但我想问如何在控制台上禁用FFmpeg 输出?

这是我的程序的一些图片:-

主图形界面

但是当我的程序开始编码时,这个控制台经常出现,抑制主 GUI :-

FFMPEG - 输出

如果您知道我的问题的任何解决方案,请给我一些解决方案。这是我第一次尝试使用 Stackoverflow 来解决我的问题。

提前致谢 !!!!!

python ffmpeg ffmpeg-python

6
推荐指数
2
解决办法
5492
查看次数

Pandas groupby 在 1.1.0 中 fillna 之后删除组列

我有一段 pandas 代码,曾经在 1.0.5 版本中工作。这是我的问题的一个简化的、独立的示例:

import pandas as pd

df = pd.DataFrame(data=[
    ('bk1', 10),
    ('bk1', None),
    ('bk1', 13),
    ('bk1', None),
    ('bk2', None),
    ('bk2', 14),
    ('bk3', 12),
    ('bk3', None),
], columns=('book', 'price'))


grouped = df.groupby(['book'], as_index=False, sort=False)
df = grouped.fillna(method='ffill')

print(df)
Run Code Online (Sandbox Code Playgroud)

在此示例中,我们有一个图书销售列表,其中缺少一些价格。我们尝试使用前一行来填充缺失的数据,其中该行是同一本书。

在 Pandas 1.0.5 中,这会生成一个包含两列的数据框:

  book  price
0  bk1   10.0
1  bk1   10.0
2  bk1   13.0
3  bk1   13.0
4  bk2    NaN
5  bk2   14.0
6  bk3   12.0
7  bk3   12.0
Run Code Online (Sandbox Code Playgroud)

在 Pandas 1.1.0 中,这会删除 book 列,从而导致输出不可用。

   price
0   10.0 …
Run Code Online (Sandbox Code Playgroud)

python pandas pandas-groupby

6
推荐指数
2
解决办法
1487
查看次数

反复抛出ArrayIndexOutOfBoundsException停止生成堆栈跟踪

我正在为我的程序编写测试.有时我的测试工作,有时他们失败了.我试图追查所有非确定性的来源.

这是一个简单,自包含的问题示例:

import java.util.ArrayList;

public class ArrayExceptions {
    public static void main(String[] args) {
        final int ITERATIONS = 10000;
        ArrayList<Integer> list = new ArrayList<>();
        try {
            list.get(-1);
        } catch(ArrayIndexOutOfBoundsException e) {
            e.printStackTrace();
        }
        for(int i = 0; i < ITERATIONS; i++) {
            try{
                list.get(-1);
            } catch (ArrayIndexOutOfBoundsException e) {
                if(e.getMessage() == null) {
                    System.out.println(i);
                    break;
                }
            }
        }
        for(int i = 0; i < 10; i++) {
            try {
                list.get(-1);
            } catch(ArrayIndexOutOfBoundsException e) {
                e.printStackTrace();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该程序创建一个ArrayList.它尝试重复访问元素-1.最初,这会在ArrayIndexOutOfBoundsException旁边创建详细的回溯和消息.但是,如果你调用它足够多次(其中'足够'似乎约为5500),抛出的异常缺少回溯和消息. …

java exception stack-trace

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

将元组插入空的 pandas 数据框中

我想将一行插入到空的 DataFrame 中。但是,对于具有预定义索引的 DataFrame 以及当元素包含提示错误的元组或列表时,这似乎会失败:

ValueError:使用序列设置数组元素。

示例代码如下:

df = pd.DataFrame(columns=['idx1', 'idx2', 'col1', 'col2', 'col3'])
df.set_index(['idx1', 'idx2'], inplace=True)
df.loc[(1,2),:] = [3,4,(5,6)]
print(df)
Run Code Online (Sandbox Code Playgroud)

python pandas pandas-loc

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