问题标签 [linecache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
515 浏览

python - 使用python中的行号读取文件时出错

我试图将 xml 文件中的数据读入 python,我的文件看起来像这样,

每组数据前面都有一个标头
(第二行等到第 92 行,我使用了以下代码

通过参考这里提出的先前问题,我尝试了许多读取文件的方法,但没有一个对我有帮助,我尝试过 linecache、readlines 等。代码有我在发布这个问题之前尝试的最后一种方法。在我打印“行”的所有情况下,输出都是空白我的逻辑有问题吗?请帮忙,下面是我的输入文件的链接

https://1drv.ms/u/s!AmPNuP3pNnN8hhdee9xJ7a81FA_p

0 投票
1 回答
147 浏览

getline - 安装我的应用程序后 Linecache getline 不起作用

我正在创建一个工具,可以概述百分之一的测试结果。此工具访问日志文件,检查通过和失败的判断。当它失败时,我需要回到日志的前几行来捕获失败的原因。linecache.getline 在我的工作区中工作(Python Run via eclipse)。但是在我创建了一个 Windows 安装程序(.exe 文件)并在我的计算机中安装了应用程序之后,linecache.getline 什么也没有返回。我需要在 setup.py 文件中添加什么来解决这个问题还是我的代码问题?

工具代码

precon:从wx.FileDialog,访问日志文件

0 投票
1 回答
40 浏览

python - linecache 在 if 语句中不起作用?

无论如何,它都会打印“错误”。我正在做一个需要能够从文件中读取问题和答案的测验。for 循环只是重复每个问题和答案的代码。问题和答案也是相同的,这可以通过打印命令看到(例如,如果其中一个问题是 2+2 并且我输出 4,它会说答案是 4 并且答案是 4)。我对问题和答案都使用了相同的文件,并且我将每个文件分别存储在单独的行中。

0 投票
2 回答
27 浏览

python - 如何在 python 中将数字写入文件,同时从文件中删除原始数字?

我正在尝试制作一个程序,将 1 添加到它从文件接收的数字,然后将这个新整数写入同一个文件以替换原始值。到目前为止我有这个:

每当我这样做时,它都可以工作,但它不会删除原始值,所以如果我从“0”开始并运行它,它将作为“01”写入文件。重新运行它,然后使用“01”并在其末尾添加 2,给出“012”,依此类推,具有相同的逻辑。我怎样才能使它删除它从文件中接收到的值,这样值就不会'干预?谢谢。

0 投票
1 回答
213 浏览

python - 为什么 linecache 会检查缓存中元组元素的长度?

https://github.com/python/cpython/blob/3.6/Lib/linecache.py中有 3 个这样的实例

getines

updatecache

lazycache

我正在编写自己的 linecache 版本并为其编写测试我需要了解元组长度为 1 的场景

有一种情况是 in 中的语句getlines被执行。这是第一次访问文件并将其存储在缓存中,然后在第二次访问之前将其删除。但我仍然无法弄清楚为什么它存在于其他两个函数中。

如果有人可以帮助我了解使用此长度检查的目的,那将非常有帮助。

0 投票
2 回答
684 浏览

python - 使用python从大型文本文件中选择具有特定条件的特定行

我有一个文本文件,它有 5 列和超过 200 万行,如下所示,

第二列显示每层的数量,在每一层中我有一个矩阵,其中第 3 列和第 4 列是该层中的行数和列数,最后一列是我的数据首先我想设置一个条件,如果第二列相等到一个数字(例如 3),在另一个文件中打印此条件的所有行,我正在使用以下代码执行此操作:

但问题是,对于每一层,我必须转到文件并找到每一层的第一行和最后一行并将其放入 islice ,这需要很长时间,因为文件太大了我能做什么我只是说 column[2] = 4 保存新文本中的行??

***** 之后我需要另一个条件,即对于 Column[2] = 4 ,如果 20 <=column[3] <= 50 和
80 <=column[4] <= 120 --> 将这些行保存在另一个文件..

0 投票
1 回答
104 浏览

python - python中的Linecache没有缓存指定的行

我正在使用 linecache 来获取字符串出现之前的行。但它不起作用。我无法理解问题是什么?

0 投票
1 回答
518 浏览

python - 如何使用 python 从 gzip 文件中读取特定行

我有一个很大的 gzip 文件(11GB),我想用 Python 尽可能快地打印出我想要的行。我曾尝试linecache.getline()使用gzip.

0 投票
2 回答
29 浏览

python - 用文本文件中的相应行替换列表列表中的数字

我有一个像这样的大文本文件(单词之间没有空格,但每行中的每个单词):

我也有一个这样的列表:

现在我想用我的文本文件的相应索引行替换每个列表的每个元素,所以预期的答案是:

我尝试了一个令人讨厌的解决方法,两个 for 循环的范围函数太复杂了(所以我想)。然后我尝试了它linecache.getline,但这也有一些问题:

这确实只产生了一个我不想要的大列表。此外,在每个单词之后,我都会遇到一个不好的问题\n,当我打开文件时我没有得到,b = open('text_list', 'r').read.splitlines()但我不知道如何在我的替换函数(或创建,而是)中实现它,所以我没有得到[['this\n' ,'is\n' , etc...

0 投票
2 回答
159 浏览

python - Python:linecache文件大小限制?

我有一个很大的 .txt 文件。每个条目都在一个新行上。我正在尝试访问该文件并遍历每一行以获取条目。但是,当我使用 时linecache.getline('file_path', 1),我得到一个空字符串。Python docs中的哪个是linecache返回错误的方式。有文件大小限制吗?我正在尝试读取一个 1.2GB 的文件。我也相当确定linecache在获取行号之前仍在尝试将整个文件读入内存。RAM 使用率上升大约文件的大小,然后恢复正常。有什么我做错了linecache吗?除此以外还有什么建议linecache吗?