通过Python3从网页读取文本文件

陈宝坚
import re
import urllib
hand=urllib.request.urlopen("http://www.pythonlearn.com/code/mbox-short.txt")
qq=hand.read().decode('utf-8') 
numlist=[]
for line in qq:
    line.rstrip()
    stuff=re.findall("^X-DSPAM-Confidence: ([0-9.]+)",line)
    if len(stuff)!=1:
        continue
    num=float(stuff[0])
    numlist.append(num)
print('Maximum:',max(numlist))

该变量qq包含文本文件中的所有字符串。但是,for循环不起作用,numlist并且仍然为空。

当我将文本文件下载为本地文件然后阅读时,一切正常。

帕德拉克·坎宁安

在qq上使用正则表达式使用多行标志re.M,您要遍历一个字符串,因此要逐字符而不是逐行进行,因此要对单个字符调用findall:

In [18]: re.findall("^X-DSPAM-Confidence: ([0-9.]+)",qq, re.M)
Out [18]: ['0.8475', '0.6178', '0.6961', '0.7565', '0.7626', '0.7556', '0.7002', '0.7615', '0.7601', '0.7605', '0.6959', '0.7606', '0.7559', '0.7605', '0.6932', '0.7558', '0.6526', '0.6948', '0.6528', '0.7002', '0.7554', '0.6956', '0.6959', '0.7556', '0.9846', '0.8509', '0.9907']

您正在做的是等于的操作:

In [13]: s = "foo\nbar"

In [14]: for c in s:
   ....:    stuff=re.findall("^X-DSPAM-Confidence: ([0-9.]+)",c)
            print(c)
   ....:     
f
o
o


b
a
r

如果要浮动,可以使用map以下命令进行投射

list(map(float,re.findall("^X-DSPAM-Confidence: ([0-9.]+)",qq, re.M)))

但是,如果您只想要最大值,则可以将密钥传递给max

In [22]: max(re.findall("^X-DSPAM-Confidence: ([0-9.]+)",qq, re.M),key=float)
Out[22]: '0.9907'

因此,您只需要三行:

In [28]: hand=urllib.request.urlopen("http://www.pythonlearn.com/code/mbox-short.txt")

In [29]: qq = hand.read().decode('utf-8')

In [30]: max(re.findall("^X-DSPAM-Confidence: ([0-9.]+)",qq, re.M),key=float)
Out[30]: '0.9907'

如果您想逐行浏览,请直接在上进行迭代hand

import re
import urllib

hand = urllib.request.urlopen("http://www.pythonlearn.com/code/mbox-short.txt")
numlist = []
# iterate over each line like a file object
for line in hand:
    stuff = re.search("^X-DSPAM-Confidence: ([0-9.]+)", line.decode("utf-8"))
    if stuff:
        numlist.append(float(stuff.group(1)))
print('Maximum:', max(numlist))

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从读取的文本文件python3追加列表

来自分类Dev

通过Python读取文本文件时如何保持文本文件的格式?

来自分类Dev

如何通过迭代找到字符频率形式的文本文件?(python3)

来自分类Dev

使用 tkinter python3 修改文本文件

来自分类Dev

Python 3:读取列表格式的文本文件

来自分类Dev

通过Python 3修改非文本文件

来自分类Dev

从文本文件读取和打印时如何防止程序添加不需要的空行-Python3

来自分类Dev

Python:部分读取文本文件

来自分类Dev

Python:部分读取文本文件

来自分类Dev

使用python读取文本文件

来自分类Dev

Python 从文本文件中读取

来自分类Dev

如何通过在Python3函数中执行文本文件行来实例化全局变量?

来自分类Dev

从文本文件读取

来自分类Dev

从文本文件读取

来自分类Dev

通过char读取文本文件char

来自分类Dev

如何通过读取文本文件创建项目对象?

来自分类Dev

如何通过名称读取Java中的文本文件

来自分类Dev

通过C#从文本文件读取列

来自分类Dev

Python3文本编码问题:使用for循环从文本文件中读取时,多余的第一个字符

来自分类Dev

为什么 Python3 在读取 Python2 没有的文本文件时会出现 UnicodeDecodeError?

来自分类Dev

在python中读取文本文件长文本文件

来自分类Dev

如何从Python3中的变量/文本文件中删除b和\ n?(TypeError)

来自分类Dev

用python3写一个大文本文件

来自分类Dev

Python 3.x读取文本文件时不忽略结尾的空行

来自分类Dev

从文本文件中读取句子,并使用Python 3追加到列表中

来自分类Dev

从文本文件中正确读取几个列表python

来自分类Dev

从python中的文本文件读取特定列

来自分类Dev

使用Swift读取文本文件的Python方法

来自分类Dev

如何在python的文本文件中读取数字?

Related 相关文章

  1. 1

    从读取的文本文件python3追加列表

  2. 2

    通过Python读取文本文件时如何保持文本文件的格式?

  3. 3

    如何通过迭代找到字符频率形式的文本文件?(python3)

  4. 4

    使用 tkinter python3 修改文本文件

  5. 5

    Python 3:读取列表格式的文本文件

  6. 6

    通过Python 3修改非文本文件

  7. 7

    从文本文件读取和打印时如何防止程序添加不需要的空行-Python3

  8. 8

    Python:部分读取文本文件

  9. 9

    Python:部分读取文本文件

  10. 10

    使用python读取文本文件

  11. 11

    Python 从文本文件中读取

  12. 12

    如何通过在Python3函数中执行文本文件行来实例化全局变量?

  13. 13

    从文本文件读取

  14. 14

    从文本文件读取

  15. 15

    通过char读取文本文件char

  16. 16

    如何通过读取文本文件创建项目对象?

  17. 17

    如何通过名称读取Java中的文本文件

  18. 18

    通过C#从文本文件读取列

  19. 19

    Python3文本编码问题:使用for循环从文本文件中读取时,多余的第一个字符

  20. 20

    为什么 Python3 在读取 Python2 没有的文本文件时会出现 UnicodeDecodeError?

  21. 21

    在python中读取文本文件长文本文件

  22. 22

    如何从Python3中的变量/文本文件中删除b和\ n?(TypeError)

  23. 23

    用python3写一个大文本文件

  24. 24

    Python 3.x读取文本文件时不忽略结尾的空行

  25. 25

    从文本文件中读取句子,并使用Python 3追加到列表中

  26. 26

    从文本文件中正确读取几个列表python

  27. 27

    从python中的文本文件读取特定列

  28. 28

    使用Swift读取文本文件的Python方法

  29. 29

    如何在python的文本文件中读取数字?

热门标签

归档