当前位置: 首页 > 面试题库 >

重新读取一个打开的文件Python

雷国兴
2023-03-14
问题内容

我有一个脚本读取文件,然后根据该文件完成测试,但是我遇到了一个问题,因为一个小时后文件会重新加载,并且无法在该时间点或之后重新读取该脚本。

所以:

  • 获取要读取的新文件
  • 读取文件
  • 执行文件测试
  • 获取要读取的新文件(具有相同的名称-但如果它是解决方案的一部分,则可以更改)
  • 读取新文件
  • 对新文件执行相同的测试

谁能建议一种使Python重新读取文件的方法?


问题答案:

要么seek到文件开头

with open(...) as fin:
    fin.read()   # read first time
    fin.seek(0)  # offset of 0
    fin.read()   # read again

或再次打开文件(我更喜欢这种方式,因为否则您将使文件保持打开状态一个小时,而在两次通过之间不执行任何操作)

with open(...) as fin:
    fin.read()   # read first time

with open(...) as fin:
    fin.read()   # read again

放在一起

while True:
    with open(...) as fin:
        for line in fin:
            # do something 
    time.sleep(3600)


 类似资料:
  • 问题内容: 说我有这个简单的python脚本: 运行该文件时,第一个打印将打印包含文件文本的列表,而第二个打印将打印空白列表。我猜不是完全出乎意料的。但是,是否有一种方法可以“回退”文件,以便我可以再次读取它?还是最快的方法只是重新打开它? 问题答案: 您可以通过调用重置文件指针: 会做的。您需要在第一行之后写那行。请注意,必须支持随机访问才能使以上功能正常工作。

  • 我有一个很重的XML文件,我想解析它。首先,我想在浏览器上打开它,看看它包含的信息以及它的结构。但当我这样做时,我无法向下滚动。我怎样才能只打开文件的一部分,因为有重复的信息,所以只打开其中的一部分就可以了。有什么想法吗?

  • 我试图简单地读取文本文件的内容并将其存储到数组中,但是: 它给了我一个“打开”的错误: 此检查检测应该解析但不解析的名称。由于动态调度和鸭子类型,这在有限但有用的情况下是可能的。与实例项相比,顶层和类级项得到更好的支持。 谁能解释我做错了什么?谢谢

  • 问题内容: 我有一个主JFrame,其中具有用于不同功能的各种面板,人们可以在其中进行计算。我想在用户单击第一个计算按钮时打开一个新的JFrame并用作“输出”窗口(如果您熟悉它们,则类似于SPSS输出窗口)。 New JFrame将是完全独立的,并且将具有其自己的菜单栏。简单的JDialog并不是解决之道。 问题答案: 无法抗拒,简单地不同意答案); 和 我想在用户单击第一个计算按钮时打开一个新

  • 我正在使用python,我有一个文件(

  • 问题内容: 假设操作系统是linux。假设我打开了一个文件进行写入并获取了一个文件描述符。是否有可能获得另一个文件描述符,对文件进行只读访问而无需再次调用?我不想调用的原因是底层文件可能已被其他进程移入文件系统或什至在文件系统中未链接,因此重用相同的文件名对此类操作是不可靠的。所以我的问题是:如果仅给出文件描述符,是否仍然可以用不同的访问权限打开文件描述符? 我想还是不会更改访问权限。 问题答案: