python - 如何返回到 Urlopen 对象中的第一行

标签 python iteration urllib2 urlopen

我正在使用 迭代保存在 http 网站上的 .dat 文件

import urllib2
test_file = urllib2.urlopen('http://~/file.dat')

然后,我有一个迭代文件的函数

def f(file):
    while True:
        iter = file.readline()
        if iter == "":
            break
        print iter

如果我想在不再次打开 test_file 的情况下调用此函数两次:

f(test_file)
f(test_file)

那我应该在f函数里面加什么呢?

更新: 由于不允许我更改函数之外的任何内容,我终于想出了一个愚蠢但有效的解决方案:

def f(file):
    while True:
        iter = file.readline()
        if iter == "":
            break
        print iter
        global test_file
        test_file = test_file = urllib2.urlopen('http://~/file.dat')

感谢回答我问题的人!

最佳答案

f.seek(0)

返回到文件的开头。参数是文件中的字节位置。

关于python - 如何返回到 Urlopen 对象中的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32750900/

相关文章:

javascript - 错误 : Opening Robot Framework log failed

python - 使用 RegEx 或 "import time"捕获日期

javascript - 从ajax get请求接收到的数据

javascript - 如何迭代数组并将结果存储在单个对象或变量中?

java - 每百万次迭代打印一次消息

Python在网页上查找文件下载链接

python - 通过 Tor 连接时 SocksiP 失败

python - PIL - TypeError : src is not a numpy array, 既不是标量

python - SSL 握手错误 : [Errno 1]

c++ - 用 'grouped'元素迭代 vector ?