RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-213498

Sergey's questions

Martin Hope
Sergey
Asked: 2023-07-09 14:55:11 +0000 UTC

如何设置文档部分的顶层

  • 5

我正在使用“文章”模板编写一个小文档。然而,里面没有章节或章节。最顶层的文档结构单元是\subsection{Features}。该文档正在运行,但是当我查看生成的 pdf 时,我看到了标题:

0.1 特点

如何去掉编号中的前导“0”?插入:

\settocdepth{subsection}

但这没有帮助。

latex
  • 1 个回答
  • 21 Views
Martin Hope
Sergey
Asked: 2023-03-21 13:03:00 +0000 UTC

BeautifulSoup 看不到嵌套在 <h4> 标签中的标签

  • 10

问题在标题中描述。没有什么可说的了。我在工作现场战斗了 2 天——我什么都听不懂。最后,我创建了一个可重现性最低的示例。

我们有一个 HTML 文件:

<!DOCTYPE html>
<html>
    <head>
        <title>Что внутри тега h4 ?</title>
        <meta charset="utf-8">
    </head>

    <body>
        <h4>
            111
            <p>(1880-1938)</p>
            222
            <p>Возчик артели возчиков, герой Русско-Японской и Первой мировой войн,
            полный Георгиевский кавалер;
            Расстрелян в г. Томске в 1938 году.</p>
            333
        </h4>
    </body>
</html>

还有一个行为非常奇怪的小 Python 程序:

#!/usr/bin/python3

from bs4 import BeautifulSoup

with open("index.html", "r") as f:
    contents = f.read()

    soup = BeautifulSoup(contents, 'lxml')

    print(f"HTML:")
    print(f"Тег Н4 полностью: {soup.h4}")
    print(f"Имя тега: {soup.h4.name}")
    print(f"Текст внутри тега: {soup.h4.text}")

尝试运行该程序。<h4>它会将字符串显示为标签的内容111。也就是说,标签的内容<p>是不可见的。好吧,就这样吧。但是线条222也不333可见!而且,如果我调用该方法.finf_all('p4'),什么也找不到!

这是库中的错误吗?或者是否有某种禁止在标签内放置任何标签<h?>?

python
  • 2 个回答
  • 36 Views
Martin Hope
Sergey
Asked: 2022-06-29 20:40:53 +0000 UTC

BeautifulSoup - 无法按类名找到标签

  • 0

有一个包含文档模板列表的站点。你必须解析它。

我正在编写一个简单的程序:

# Библиотеки для скрапинга
from bs4 import BeautifulSoup
import requests

# Начальный URL
url = 'https://uristhome.ru/document'

# Делаем запрос и получаем html
html_text = requests.get(url).text

# Парсим HTML  в дерево тегов
soup = BeautifulSoup(html_text, 'lxml')

# Ищем строки таблицы
table_rows = soup.findAll('li')
#table_rows = soup.findAll(class_="ln-а")
#table_rows = soup.findAll('li', attrs={'class':'ln-a'})

print(f"Найдено {len(table_rows)} строк в таблице")

#寻找表格行(这些是第15-18行)之后写的内容理论上应该选择我感兴趣的那些li标签。但事实证明,除了最简单的选项外,没有什么是行不通的。

如果您取消注释第 15 行,则按标签名称搜索将起作用并给出:

Найдено 4049 строк в таблице

但是,我需要一个更准确的样本。剩下的三个选项给出一个空结果:

Найдено 0 строк в таблице

似乎我做了所有事情,就像在不同的例子中一样,但什么也没发生。可能是什么问题呢?

python beautiful-soup
  • 2 个回答
  • 267 Views
Martin Hope
Sergey
Asked: 2022-08-24 18:40:33 +0000 UTC

如何在 URL 中使用西里尔字母?

  • 2

Python中有一个教程问题会随机跳转英文维基百科的页面:

from urllib.request import urlopen
from bs4 import BeautifulSoup
import re

pages = set()
def getLinks(pageUrl):
    global pages
    
    html = urlopen('http://en.wikipedia.org{}'.format(pageUrl))
    bs = BeautifulSoup(html, 'html.parser')
    for link in bs.find_all('a', href=re.compile('^(/wiki/)')):
        if 'href' in link.attrs:
            if link.attrs['href'] not in pages:
                #We have encountered a new page
                newPage = link.attrs['href']
                print(newPage)
                pages.add(newPage)
                getLinks(newPage)
getLinks('')

一切都很好。但是,如果我尝试使用俄语 wiki 作为基本 URL:

html = urlopen('http://ru.wikipedia.org/wiki/Заглавная_страница{}'.format(pageUrl))

然后抛出错误消息:UnicodeEncodeError:

“ascii”编解码器无法编码字符

分支

如何将 url 编码解码为西里尔字母?

我读。还有一个问题:

  1. 转换 URL -> cp1251
  2. 我正好相反:utf8 -> URL
python
  • 2 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2022-05-31 09:43:03 +0000 UTC

Ubuntu 20.04 中的终端启动延迟

  • 0

在 18.04 版上没有这样的东西。终端立即启动。现在,终端窗口打开后,会有很长的停顿。大约一分钟内什么也没有发生。您可以尝试输入一些内容,解释器尚未运行。

许久之后,终端窗口中出现一条消息:

In order to daemonize you must specify a log file, you can use /dev/stdout to log to screen even as a daemon

消息的含义对我来说绝对是神秘的。谁需要作为守护进程运行?为什么?

出现此消息后,会弹出标准 Shell 提示,然后一切正常。这条消息说什么?

ubuntu
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2022-04-02 16:17:43 +0000 UTC

PDF 文档中未显示颜色

  • 0

我正在准备一份文件,其中包含程序清单和发行示例。我想给这个上色一点。我使用以前多次使用过的技术。但是这个文档中发生了一些奇怪的事情!

前言:

\documentclass[]{article}

\usepackage[usenames]{color,colortbl}
\usepackage[pdftex, unicode]{hyperref}
\usepackage[dvips]{graphicx}
\usepackage{cmap}
\usepackage[english,russian]{babel}
\usepackage[LGR,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{indentfirst}
\usepackage{textcomp}
\usepackage{textgreek}
\usepackage{amsmath}
\usepackage{comment}
\usepackage{longtable}
\usepackage{ucs}
\usepackage{listings}
\pagestyle{plain}
\usepackage{hyperref}
\usepackage{tcolorbox}

我定义列表的颜色和着色:

% Цвета
\definecolor{mygray}{rgb}{0.9, 0.9, 0.85}
\definecolor{gray}{rgb}{0.5, 0.5, 0.5}
\definecolor{lightYellow}{RGB}{0.9,0.9,0.4}  

\lstset{                                                                                                 
    language=SQL,
    keepspaces=true,
    extendedchars=\true,
    inputencoding=utf8,
    backgroundcolor=\color{lightYellow},
    breaklines=true
}                                                                                                        

在我写的文件正文中:

Для Windows:

\begin{lstlisting}[frame=tlBR, caption={Windows}]
sqlite3.exe tut.db
\end{lstlisting}

Для Linux:

\begin{lstlisting}[frame=tlBR, caption={Linux}]
./sqlite3 tut.db
\end{lstlisting}

在生成的文档中,我看到了这个恶心的东西:

这是我在文档中看到的。

tcolorbox 也不着色。可能是什么原因?

latex
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-05-20 13:10:58 +0000 UTC

LaTeX - 更改定义列表样式

  • 1

标准的 LateX 定义列表构建这样的元素

ТерминЖирным Определяющий текст обычным

但我想要这样:

ТерминЖирным 
   Определяющий текст обычным

我正在澄清这个问题:是否可以移至定义列表中的新段落,甚至将段落向右移动?

清单很长,所以我想要一些更简单的东西。

latex
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-05-12 12:19:02 +0000 UTC

乳胶 - 减号的奇怪行为

  • 2

有这样一个最小的可重现示例:

\documentclass[a4paper,11pt]{article}
\usepackage{cmap}
\usepackage[utf8]{inputenc}

\usepackage[english,russian]{babel}

\begin{document}
("-")
\end{document}

如果我尝试编译 pdf,我会收到错误消息:

TeX capacity exceeded, sorry [input stack size=5000]. ("-"

有两种方法可以克服错误。两种方式都很奇怪......它们是:

  1. 注释掉 \usepackage[english,russian]{babel} 行,文档显示正确。
  2. 编写文档的正文,用带空格的减号字符包围: (" - ") 错误消失,但文档显示不正确。像这样:

    (-")

我认为减号的神秘行为(它实际上是一个减号 - 我检查过!)是因为它被认为是一个连字符。但是如何处理这种情况呢?

latex
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-08-15 10:22:05 +0000 UTC

关于 *wait_event_interruptible*

  • 0

之前在开发驱动的时候,我没有使用wait_event_interruptible(...),但是现在我有了尝试的欲望。而且我无法理解第二个参数的含义:

  • 这是睡眠标志。
  • 这是唤醒标志。

在 Jonathan Corbet 的“圣经”LDD3 中(从我的角度来看)模糊不清。它使用英语双重否定,可以这样翻译。俄语翻译说“只要条件评估为真,进程就会继续休眠。”

他在微小的 sleepy.c 驱动程序中给出的示例

static DECLARE_WAIT_QUEUE_HEAD(wq);
static int flag = 0;

ssize_t sleepy_read (struct file *filp, char __user *buf, size_t count, loff_t *pos)
{
    printk(KERN_DEBUG "process %i (%s) going to sleep\n",
            current->pid, current->comm);
    wait_event_interruptible(wq, flag != 0);
    flag = 0;
    printk(KERN_DEBUG "awoken %i (%s)\n", current->pid, current->comm);
    return 0; /* EOF */
}

ssize_t sleepy_write (struct file *filp, const char __user *buf, size_t count,
        loff_t *pos)
{
    printk(KERN_DEBUG "process %i (%s) awakening the readers...\n",
            current->pid, current->comm);
    flag = 1;
    wake_up_interruptible(&wq);
    return count; /* succeed, to avoid retrial */
}

似乎证实了这个论点。

但是,如果您查看此宏的文本,那么(恕我直言)事实证明 - 相反:

#define wait_event_interruptible(wq, condition)               \
({                                                            \
    int __ret = 0;                                            \
    if (!(condition))                                         \
        __wait_event_interruptible(wq, condition, __ret);     \
    __ret;                                                    \
})

我不明白什么?

linux
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-04-22 13:34:00 +0000 UTC

\documentclass{book} 和 lstlisting 之间的冲突

  • 0

我正在准备一个相当大的文档,它将(据说)包含\chapter。此外,该文档包含许多列表 - \lstlisting。

存在冲突:如果我声明文档类book,则会为列表生成错误:

Paragraph ended before \lstenv@testopt@ was complete.

如果我声明文档类article,那么它会在以下部分发誓:

Undefined control sequence. \chapter

这个问题有解决方案吗?

latex
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-03-21 17:18:51 +0000 UTC

如何格式化特殊的文本块?

  • 2

我想在文档中放置“注意”、“警告”、提示等特殊块。大致是这样的:

特殊“注释”块的示例

在翻遍了一堆文献和论坛之后,我发现唯一的东西就是使用 awesomebox 包:

\usepackage{awesomebox}
. . . 
\notebox{Для получения дополнительной информации о настройке подключения к удаленному интерфейсу см. Руководств...}

这里有两个问题:

  1. awesomebox 包使用 fontawesome5 包,它位于巨大的包内(就 Ubuntu 安装程序而言)texlive-fonts-extra
  2. 事实证明,它的使用效果虽然与预期的相似,但并不完全是:

真棒盒子应用程序

“J”是怎么回事?它可以被更理智的东西代替吗?或者也许有一些更简单的方法?

latex
  • 2 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-03-11 22:50:36 +0000 UTC

Ubuntu 停止看到 USB 调制解调器

  • 1

我一直在使用(据称)MTS 大约 2 年,但实际上我一直在使用华为 USB 调制解调器。直到 3 月 7 日,一切都很好。这里的日期(似乎)很重要。

当我早上上班并将调制解调器插入 USB 端口时,我发现该设备未被识别为调制解调器,而是作为普通闪存驱动器。重复尝试(对不同的 USB 连接器,在重新启动后......)并没有导致任何结果 - Ubuntu 没有直接将其视为调制解调器。

该设备工作正常 - 在 Windows 和在家中,在 OpenSuse 下 - 它工作得非常好。

网络管理器看不到调制解调器。当您尝试添加移动网络设备时,列表为空。

在 USB 总线上检测到设备:

# lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 006: ID 12d1:1f01 Huawei Technologies Co., Ltd.
E353/E3131 (Mass storage mode)

当调制解调器插入插槽时,dmesg 输出以下输出:

[ 4292.667606] usb 2-1: new high-speed USB device number 7 using ehci-
pci
[ 4292.801421] usb 2-1: New USB device found, idVendor=12d1,
idProduct=1f01
[ 4292.801434] usb 2-1: New USB device strings: Mfr=1, Product=2,
SerialNumber=3
[ 4292.801442] usb 2-1: Product: HUAWEI_MOBILE
[ 4292.801449] usb 2-1: Manufacturer: HUAWEI_MOBILE
[ 4292.801455] usb 2-1: SerialNumber: 0123456789ABCDEF
[ 4292.834936] usb-storage 2-1:1.0: USB Mass Storage device detected
[ 4292.835464] scsi host11: usb-storage 2-1:1.0
[ 4293.842190] scsi 11:0:0:0: CD-ROM            HUAWEI   Mass
Storage     2.31 PQ: 0 ANSI: 2
[ 4293.843674] scsi 11:0:0:1: Direct-Access     HUAWEI   TF CARD
Storage  2.31 PQ: 0 ANSI: 2
[ 4293.850227] sr 11:0:0:0: [sr0] scsi-1 drive
[ 4293.850468] sr 11:0:0:0: Attached scsi CD-ROM sr0
[ 4293.850620] sr 11:0:0:0: Attached scsi generic sg1 type 5
[ 4293.851026] sd 11:0:0:1: Attached scsi generic sg2 type 0
[ 4293.856700] sd 11:0:0:1: [sdb] Attached SCSI removable disk
[ 4296.544779] sr 11:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK
driverbyte=DRIVER_SENSE
[ 4296.544795] sr 11:0:0:0: [sr0] tag#0 Sense Key : Medium Error
[current] 
[ 4296.544805] sr 11:0:0:0: [sr0] tag#0 Add. Sense: Unrecovered read
error
[ 4296.544815] sr 11:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 00 0f fe
00 00 02 00
[ 4296.544822] blk_update_request: critical medium error, dev sr0,
sector 16376
[ 4296.564772] sr 11:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK
driverbyte=DRIVER_SENSE
[ 4296.564786] sr 11:0:0:0: [sr0] tag#0 Sense Key : Medium Error
[current] 
[ 4296.564794] sr 11:0:0:0: [sr0] tag#0 Add. Sense: Unrecovered read
error
[ 4296.564804] sr 11:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 00 0f fe
00 00 02 00
[ 4296.564811] blk_update_request: critical medium error, dev sr0,
sector 16376
[ 4296.564819] Buffer I/O error on dev sr0, logical block 2047, async
page read
[ 4296.795657] ISO 9660 Extensions: Microsoft Joliet Level 1
[ 4296.804925] ISOFS: changing to secondary root

那些。有读取错误信息。但是为什么它不会干扰 Windows 和 OpenSUSE 下的工作呢?!

但在 Ubuntu 中,虽然作为闪存驱动器,它是可见的,你可以进入它,查看目录。

添加设备字符串

# Huawei                                                                 
ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f01", RUN+="usb_modeswitch '%b/%k'"                           

文件 /lib/udev/rules.d/40-usb_modeswitch.rules什么也没给。

在/etc/usb_modeswitch.d目录中创建文件12d1:1f01,内容为:

MessageContent=«555342431234567824000000800008ff52444556434847310000000
0000000»

并没有改善情况。

手动加载usbserial内核模块也没有做任何事情:

# modprobe usbserial
# lsmod | grep usb
usbserial              53248  0
usb_storage            73728  2 uas
usbhid                 53248  0
hid                   122880  2 hid_generic,usbhid

由于这种情况仅在 Ubuntu 中观察到,从 3 月 7 日开始,我假设当时系统有一定的升级,导致调制解调器出现故障。

我怀疑问题是:

大容量存储模式

有任何想法吗?

ubuntu
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-02-22 16:43:38 +0000 UTC

如何检测 tkinter.Spinbox 值变化?

  • 0

用户为其设置整数值的程序的 GUI 中有一个元素。在屏幕上看起来像这样:

使用 Spinbox 设置整数

这是在程序中实现的,如下所示:

class StepNum(Frame):
    """
    Виджет, отображающий номер шага тестирования и позволяющий
    изменять значение этого номера.
    Содержит виджеты:

    * Label - Подпись
    * Spinbox - Значение
    """

    def __init__(self, parent, stepList):
        Frame.__init__(self, parent, relief=RAISED, borderwidth=1)
        self.parent = parent
        self.initUI(stepList)

    def initUI(self, stepList):

        Label(self, text="Шаг №").grid(row=0, column=0, 
                                       padx=3, sticky='w')
        self.sp = Spinbox(self, values=stepList, command=self.spinClicket)
        self.sp.grid(row=0, column=1, padx=3, sticky='w')

    def spinClicket(self):
        new_step_num = self.sp.get()
        print("Новое значение: {0}".format(new_step_num))

如果用户单击旋转框箭头,则调用spinClicket函数并打印新值。

然而!!!如果用户直接从键盘向Spinbox编辑字段输入新值,则不会发生任何事情,并且不会调用spinClicket函数。

如何在自旋中拦截这种直接输入?

python
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-12-18 17:13:56 +0000 UTC

如何从表中绘制两个函数

  • 2

有一些csv格式的实验数据表。我像这样导入它:

>>> import pandas as pd
>>> df = pd.read_csv('data.csv', sep=',')
>>> df
    'Set'     'Rx'     'Traffic'     'Modulation'
0   -67.0   -64.35         15.00     '64-QAM 2/3'
1   -68.0   -65.35         15.00     '16-QAM 3/4'
2   -69.0   -66.85         14.78     '64-QAM 2/3'
3   -70.0   -67.60         15.42     '64-QAM 2/3'
4   -71.0   -68.85         15.04     '64-QAM 2/3'
5   -72.0   -70.35         15.04     '16-QAM 3/4'
6   -73.0   -70.85         15.04     '16-QAM 3/4'
7   -74.0   -71.35         15.28     '16-QAM 3/4'
8   -75.0   -72.60         12.35     '64-QAM 2/3'
9   -76.0   -73.10         11.38     '16-QAM 3/4'
10  -77.0   -74.60         11.64     '16-QAM 3/4'
11  -78.0   -75.60          7.76     '16-QAM 1/2'
12  -79.0   -76.85          7.76     '16-QAM 1/2'
13  -80.0   -77.85          7.52     '16-QAM 1/2'
14  -81.0   -79.35          5.85       'QPSK 3/4'

现在我想绘制一个使用“设置”列作为 X 值的图表。在这张图上,我想看到两条(!)曲线:

  • Y1:'Rx'
  • Y2:“交通”

matplotlib.pyplot如何做到这一点?我找到了一个指南(Pandas),第一步是从表中选择一列,如下所示:

df = pd.read_csv('apple.csv', index_col='Date', parse_dates=True)
new_sample_df = df.loc['2012-Feb':'2017-Feb', ['Close']]

但是我的第一个数据框索引是数字的,我无法选择我感兴趣的列:

new_sample_df = df.iloc[0:14, ['Rx']]
TypeError: cannot perform reduce with flexible type

但即使我能以某种方式做到这一点,我如何将每个 X 点的两个(!) Y 值传递给绘图函数?尝试了两个建议的选项。它不起作用:-(为了消除歧义,我给出了 CSV 文件本身:

'Set,Rx','Traffic','Modulation'
-67.00, -64.35,    15.00,   '64-QAM 2/3'
-68.00, -65.35,    15.00,   '16-QAM 3/4'
-69.00, -66.85,    14.78,   '64-QAM 2/3'
-70.00, -67.60,    15.42,   '64-QAM 2/3'
-71.00, -68.85,    15.04,   '64-QAM 2/3'
-72.00, -70.35,    15.04,   '16-QAM 3/4'
-73.00, -70.85,    15.04,   '16-QAM 3/4'
-74.00, -71.35,    15.28,   '16-QAM 3/4'
-75.00, -72.60,    12.35,   '64-QAM 2/3'
-76.00, -73.10,    11.38,   '16-QAM 3/4'
-77.00, -74.60,    11.64,   '16-QAM 3/4'
-78.00, -75.60,     7.76,   '16-QAM 1/2'
-79.00, -76.85,     7.76,   '16-QAM 1/2'
-80.00, -77.85,     7.52,   '16-QAM 1/2'
-81.00, -79.35,     5.85,     'QPSK 3/4' 

以及我正在尝试执行的程序的文本,注释掉了两个选项:

#!/usr/bin/env python

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv(r'data.csv', quotechar="'")
#1 df.set_index('Set')[['Rx','Traffic']].plot(legend=True, grid=True)
#2 df.set_index("'Set'")[["'Rx'","'Traffic'"]].plot(legend=True, grid=True)

如果取消注释 #1,将显示以下消息:

KeyError: 'Set'

如果您取消注释 #2,则消息会相应更改:

KeyError: "'Set'"

也许重点是我是第三条蟒蛇,而例子是第二条?

python
  • 2 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-09-05 13:18:40 +0000 UTC

如何编辑 Python 程序文件?

  • 2

荒谬的问题,我猜......但我浏览了一堆链接,仍然不明白如何在不离开iPython解释器的情况下完成此操作。我将尝试解释我想要什么:

我有一堆python文件。我需要快速查看它们并尝试运行它们。通常,输入命令时:

ipython program.py

给出了一些错误信息。要理解它的含义,您需要查看源文本。我希望在启动ipython后我可以执行以下操作:

%load program.py
%run
%edit
%run
. . . .

但没有任何效果。执行%load命令时抛出错误,当我输入%edit时, vi启动,并带有一个空 (!!!) 窗口。

请告诉我如何解决这个愚蠢的问题!

关于PyCharm,Eri​​c,...我知道。但在这种特殊情况下,使用 IDE 并不方便。

python
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-08-07 14:03:35 +0000 UTC

解释器在另一个程序先前未成功启动的目录中启动时抛出错误

  • 1

虚假错误消息是指程序的启动早已结束并且与当前活动无关。唯一将它们结合在一起的是,当解释器在另一个程序之前未成功启动的文件系统目录中启动时,会发出错误消息。例子:

  1. 在主文件夹中执行命令
  2. 我去tmp文件夹
  3. 我执行相同的命令 - 有一条错误消息。

这是清单:

$ cd
lary@dtk58:~$ python
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from socket import *
>>> exit() 
lary@dtk58:~$ cd tmp
lary@dtk58:~/tmp$ python
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from socket import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/lary/tmp/socket.py", line 9, in <module>
    mysock = socket(AF_INET, SOCK_STREAM)
NameError: name 'socket' is not defined

socket.py程序本身不再存在。很明显,问题出在某些缓存中……我清除了此目录中的pycache 文件夹- 它没有帮助。

python
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-07-31 18:49:07 +0000 UTC

NetSNMP - 读取浮点数

  • 1

我从代理中读取整数变量,如下所示:

ss = netsnmp.Session(Version=2, DestHost=ip, Community='public')
oid = '...'
vb = netsnmp.Varbind(oid, '0')
vl = netsnmp.VarList(vb)
int_val = ss.get(vl)

我将查询结果转换为整数类型:

return  int(int_val[0])

一切正常。尝试对float做同样的事情:

ss = netsnmp.Session(Version=2, DestHost=ip, Community='public')
oid = '...'
vb = netsnmp.Varbind(oid, '0',None,'OPAQUE')
vl = netsnmp.VarList(vb)
float_val = ss.get(vl)

然后转换:

float(float_val[0])

然而,这行不通!抛出一个错误:

translate_asn_type: unhandled asn type (120)

当试图转换一个空值时,程序会中断:

float(float_val[0])
ValueError: could not convert string to float:

问题:如何正确读/写浮点值?

  • Linux Ubuntu 16.04
  • 蟒蛇 3.5
  • NetSNMP 是该站点的最新版本。
python
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-07-24 12:50:50 +0000 UTC

netsnmp.snmpset 抛出错误

  • 1

我正在尝试编写一个通过 SNMP 管理复杂设备的程序。我使用 Python 3 作为编程语言。从托管设备读取 SNMP 变量很好。根本无法运行netsnmp.snmpset。例子:

>>> import netsnmp
>>> x1 = '11:22:33:44:55:66'
>>> ss = netsnmp.Session(Version = 2, DestHost = '172.17.132.73', Community="public")
>>> tag = '.1.3.6.1.4.1.<Моя фирма>.5.1.2.1.3.10.1'
>>> vb = netsnmp.Varbind(tag, '0', x1, 'STRING')
>>> snmpe = netsnmp.snmpset(vb, ss)

抛出以下错误:

Traceback (innermost last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/netsnmp/client.py", line 246, in snmpset
    var_list.append(Varbind(arg))
  File "/usr/local/lib/python3.5/dist-packages/netsnmp/client.py", line 64, in __init__
    match = regex.match(tag)
TypeError: expected string or bytes-like object

如果您查看输出中指示的结果,您可以看到发誓进入vb对象中的标记字段。但他绝对是STRING !!!。因此,我完全不清楚错误消息的含义。我试图删除 OID 中的起点,我尝试自己在末尾添加“0” - 没有效果。

什么样的玄学?!

python
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-06-01 14:04:26 +0000 UTC

SNMP应用编译模式

  • 0

当尝试使用 Net-SNMP 库在 Linux 上构建最简单的应用程序时(打开会话并关闭会话 - 就是这样),会生成以下错误

/usr/include/net-snmp/library/snmp_api.h:706:8: error: unknown type name ‘netsnmp_transport’

我假设未指定某些编译标志,或者未连接某种启用程序。

本质上是一个五行程序:

#include <stdio.h>
#include <stdlib.h>

#include <net-snmp/net-snmp-config.h>
#include <net-snmp/session_api.h>

int main(int argc, char **argv) {

    struct snmp_session s;
    void * session;
    // Выполняем инициализацию переменных
    snmp_sess_init(&s);
    session = snmp_sess_open(&s);

    // Закрываем сессию
    rc = snmp_sess_close(&s);
    if (rc == 0) {
        printf("Неудачное завершение сессии\n");
    } else {
        printf("Программа завершилась нормально\n");
    }

    return 0;
}

有人可以解释一下 - 这种情况的原因是什么?

linux
  • 1 个回答
  • 10 Views
Martin Hope
Sergey
Asked: 2020-05-24 11:09:02 +0000 UTC

非常大的可执行文件大小

  • 3

我是一个完整的新手。自然,我收集并启动了hello_world。然后我查看了可执行模块的大小:

$ ls -l
итого 664
drwxrwxr-x 2 lary lary   4096 мар  1  2017 build
drwxrwxr-x 2 lary lary   4096 мар  1  2017 deps
drwxrwxr-x 2 lary lary   4096 мар  1  2017 examples
-rwxrwxr-x 1 lary lary 657056 мар  1  2017 hello_world
drwxrwxr-x 2 lary lary   4096 мар  1  2017 native

数字 657056 不知何故让我心烦意乱。我决定,因为这是一个调试版本,他们只是在那里塞满了各种调试信息,所以他是个大人物。决定收集释放。看了看:

$ ls -l
итого 5152
drwxrwxr-x 2 lary lary    4096 май 22 17:57 build
drwxrwxr-x 2 lary lary    4096 май 22 17:57 deps
drwxrwxr-x 2 lary lary    4096 май 22 17:57 examples
-rwxrwxr-x 2 lary lary 5236496 май 22 17:57 hello_world
-rw-rw-r-- 1 lary lary     102 май 22 17:57 hello_world.d
drwxrwxr-x 2 lary lary    4096 май 22 17:57 incremental
drwxrwxr-x 2 lary lary    4096 май 22 17:57 native 

我变得非常难过。难道我做错了什么?还是正常?显然,已经组装了一个模块,整个运行时都静态链接到该模块中。应该是这样吗?

linux
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5