获取文本文件 Python 中的特定部分并保存到字典 UnboudLocalError

马蒂4570

我正在一个接受 .log 文件 POSTS(基本上只是一个文本文件)的烧瓶服务器上工作。这些文件包含调用命令行 smartctl 命令产生的数据

smartctl -a /dev/sda

我让它工作了,但我使用了硬编码文件中的行号,这不是最佳的,因为行数可能因不同的硬盘而异。以下是我的工作代码的一部分:

def parse_line(line): # For colons; device info
    splitted = line.split(':')
    return splitted[0], splitted[1].strip()

file_body = request.form['smartdata']

lines = file_body.split("\n")

my_data = {}  # Empty dictionary object
    for line in lines[4:22]: # Device info
        if ":" in line:
            if line.startswith("Device is:"): # Not necessary
                pass
            else:
                key, value = parse_line(line)

        my_data[key] = value

我尝试在 .log 文件中搜索部分标题,以确定我应该做什么样的拆分;

def parse_line(line): # For colons; device info
splitted = line.split(':')
return splitted[0], splitted[1].strip()

copy = False
    device_info = {}

    for line in lines:
        if line.strip() == "=== START OF INFORMATION SECTION ===": #start of device info
            copy = True
        if line.strip() == "=== START OF READ SMART DATA SECTION ===": #start of smart data section, end of device info
            copy = False
        if copy: #if iterating lines and passed the information section header, true and sends said line to the parse_line method
            key, value = parse_line(line)

        device_info[key] = value

但是,我收到以下错误:

UnboundLocalError:赋值前引用了局部变量“值”

我不太明白如何从

device_info[key] = value

因为我基本上和以前一样在做同样的事情。

鼠鼠

device_info[key] = value行不应该在value分配 get 的同一块中吗?

def parse_line(line): # For colons; device info
splitted = line.split(':')
return splitted[0], splitted[1].strip()

copy = False
    device_info = {}

    for line in lines:
        if line.strip() == "=== START OF INFORMATION SECTION ===": #start of device info
            copy = True
        if line.strip() == "=== START OF READ SMART DATA SECTION ===": #start of smart data section, end of device info
            copy = False
        if copy: #if iterating lines and passed the information section header, true and sends said line to the parse_line method
            key, value = parse_line(line)
            # Now value will always be defined.
            device_info[key] = value

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字典保存到文本文件python 3

来自分类Dev

Python:读取和获取文本文件的某些部分

来自分类Dev

从pyttsx python中的文本文件中获取数据

来自分类Dev

使用python从文本文件中获取IP

来自分类Dev

解析文本文件,存储值并创建列表并将其保存到字典python中

来自分类Dev

如何按照最初在 Python 中分配的顺序将字典保存到文本文件中?

来自分类Dev

Python文本文件而不是字典

来自分类Dev

从文本文件PYTHON填充字典

来自分类Dev

从文本文件制作python字典

来自分类Dev

Python:部分读取文本文件

来自分类Dev

Python:部分读取文本文件

来自分类Dev

Python中的文本文件Trauma

来自分类Dev

Python 从文本文件中读取

来自分类Dev

python对象从错误的文本文件中获取先前的对象属性,以及从正确的文本文件中获取其先前的对象属性

来自分类Dev

Python从文本文件的特定部分读取

来自分类Dev

如何从python中的文本文件中获取子字符串?

来自分类Dev

从python列表中的文本文件中获取匹配列

来自分类Dev

如何从python中的文本文件中仅获取数字(不带空格)

来自分类Dev

如何在python中获取文本文件中的统计信息

来自分类Dev

从文本文件中获取整数并使用python写入excel

来自分类Dev

Python从文本文件中获取随机选择,然后重复该选择

来自分类Dev

Python从文本文件中获取单词并写入sqlite3 db

来自分类Dev

从大型文本文件中获取数据,以高效地替换另一个大型文本文件中的数据(Python)

来自分类Dev

使用python将文件列表保存到文本文件中

来自分类Dev

如何获取多个动态文本文件的内容并将其存储在一个文本文件和mysql-Python 2.7中?

来自分类Dev

将文本文件读入字典的python列表中

来自分类Dev

将Python中的文本文件解析为字典

来自分类Dev

如何使用文本文件中的数字对python中的文本文件进行排序

来自分类Dev

使用Python将列表中的数据保存到文本文件中

Related 相关文章

  1. 1

    将字典保存到文本文件python 3

  2. 2

    Python:读取和获取文本文件的某些部分

  3. 3

    从pyttsx python中的文本文件中获取数据

  4. 4

    使用python从文本文件中获取IP

  5. 5

    解析文本文件,存储值并创建列表并将其保存到字典python中

  6. 6

    如何按照最初在 Python 中分配的顺序将字典保存到文本文件中?

  7. 7

    Python文本文件而不是字典

  8. 8

    从文本文件PYTHON填充字典

  9. 9

    从文本文件制作python字典

  10. 10

    Python:部分读取文本文件

  11. 11

    Python:部分读取文本文件

  12. 12

    Python中的文本文件Trauma

  13. 13

    Python 从文本文件中读取

  14. 14

    python对象从错误的文本文件中获取先前的对象属性,以及从正确的文本文件中获取其先前的对象属性

  15. 15

    Python从文本文件的特定部分读取

  16. 16

    如何从python中的文本文件中获取子字符串?

  17. 17

    从python列表中的文本文件中获取匹配列

  18. 18

    如何从python中的文本文件中仅获取数字(不带空格)

  19. 19

    如何在python中获取文本文件中的统计信息

  20. 20

    从文本文件中获取整数并使用python写入excel

  21. 21

    Python从文本文件中获取随机选择,然后重复该选择

  22. 22

    Python从文本文件中获取单词并写入sqlite3 db

  23. 23

    从大型文本文件中获取数据,以高效地替换另一个大型文本文件中的数据(Python)

  24. 24

    使用python将文件列表保存到文本文件中

  25. 25

    如何获取多个动态文本文件的内容并将其存储在一个文本文件和mysql-Python 2.7中?

  26. 26

    将文本文件读入字典的python列表中

  27. 27

    将Python中的文本文件解析为字典

  28. 28

    如何使用文本文件中的数字对python中的文本文件进行排序

  29. 29

    使用Python将列表中的数据保存到文本文件中

热门标签

归档