- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在准备一个文本文件语料库,其中包含 170 部荷兰小说。我是一名文学学者,对 Python 以及一般编程也比较陌生。我想做的是编写一个 Python 脚本,用于删除每个 .txt 文件中不属于小说实际内容(即故事)的所有内容。我想要删除的内容是:添加的作者传记、简介以及将 ePub 转换为 .txt 时附带的其他信息。
我的想法是手动决定每个 .txt 文件小说的实际内容在哪一行开始和结束。我使用以下代码块来删除 .txt 文件中不包含在这两个行号之间的所有信息:
def removeparatext(inputFilename, outputFilename):
inputfile = open(inputFilename,'rt', encoding='utf-8')
outputfile = open(outputFilename, 'w', encoding='utf-8')
for line_number, line in enumerate(inputfile, 1):
if line_number >= 80 and line_number <= 2741:
outputfile.write(inputfile.readline())
inputfile.close()
outputfile.close()
removeparatext(inputFilename, outputFilename)
数字 80 和 2741 是一本特定小说的实际内容的开始和结束编号。但是,输出文件仅输出一个 .txt 文件,其中删除了第 80 行之前的文本,它仍然包含第 2741 行之后的所有内容。我似乎不明白为什么。也许我没有以正确的方式使用 enumerate() 函数。
另一件事是我想删除 .txt 文件中所有不必要的空格。但是当我在这段代码中实现 .strip() 方法时,它似乎不起作用。
有人可以给我一个关于如何解决这个问题的建议吗?非常感谢!
最佳答案
enumerate
已经提供了 line 及其索引,因此您不需要再次在文件对象上调用 readline
,因为这会导致不可预测的行为 - 更像以双倍速度读取文件对象:
for line_number, line in enumerate(inputfile, 1):
if line_number >= 80 and line_number <= 2741:
outputfile.write(line)
# ^^^^
<小时/>
作为使用enumerate
和迭代整个文件的替代方法,您可以考虑使用itertools.islice
切片文件对象。它获取开始和停止索引,然后使用 writelines
将切片序列写入输出文件:
from itertools import islice
def removeparatext(inputFilename, outputFilename):
inputfile = open(inputFilename,'rt', encoding='utf-8')
outputfile = open(outputFilename, 'w', encoding='utf-8')
# use writelines to write sliced sequence of lines
outputfile.writelines(islice(inputfile, 79, 2741)) # indices start from zero
inputfile.close()
outputfile.close()
<小时/>
此外,您可以使用上下文管理器with with with
语句打开文件并将关闭/清理工作留给Python。请参阅How to open a file using the open with statement .
from itertools import islice
def removeparatext(inputFilename, outputFilename):
with open(inputFilename,'rt', encoding='utf-8') as inputfile,\
open(outputFilename, 'w', encoding='utf-8') as outputfile:
# use writelines to write sliced sequence of lines
outputfile.writelines(islice(inputfile, 79, 2741))
removeparatext(inputFilename, outputFilename)
关于python - 使用Python从txt文件中删除副文本(或 'noise'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40038596/
关闭。这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。 想改进这个问题?更新问题,使其成为 Stack Overflow 的 on-topic。 5年前关闭。
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我正在尝试使3D Perlin噪声算法适应较低的尺寸,但是由于我不完全了解其原因,我在使用梯度函数时遇到了麻烦。 原始的Perlin梯度函数采用四个参数:hash和三维坐标(x, y, z)。该函数的
我想为音频文件添加噪音。有没有办法在 SoX(或其他工具)中实现这一点? 我正在进行机器学习研究,需要在存在噪声的情况下测试我的算法。理想情况下,我想指定一个信噪比并添加噪声以达到该目标 SNR。 我
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我正在编写以字符串形式接收数据段的代码。该字符串的大小不同,但始终以相同的字符开头和结尾( start: '' )。我想防止用户在段开始和结束之前输入无效字符时出错。例如 "fdslkjds" "df
我正在尝试寻找一种无需借助宏即可减少语法“噪音”的方法。对于以下代码: struct base { base() = delete; }; struct tag1 final : private
我正在 C# winforms 项目中使用“不安全”代码创建(然后更改)位图。每 30 毫秒左右执行一次。我遇到的问题是“噪音”或随机像素有时会出现在生成的位图中,而我没有特别更改任何内容。 例如,我
我的任务似乎是琐碎的 找出给定录音的“噪音”。 录音是通过录音机, OLYMPUS VN-733 PC相当便宜(我没有在做 广告,我只提到这一点,因为我绝不 打算在这里做任何“专业”的事情,我只需要
如何使用 MatLab 计算信噪比? 更新 我只有一个文件,而不是示例中的两个,它是一个 .tif。 最佳答案 Matlab SNR 的第一个 Google 结果.从那里复制,以 dB 为单位: sn
我想使用 Perlin Noise 创建一个 2D float 列表。我希望每次运行程序时生成的值都不同。但是,我不确定如何为我在 GitHub here 上找到的噪声库提供随机种子。 . 如何让程序
我正在准备一个文本文件语料库,其中包含 170 部荷兰小说。我是一名文学学者,对 Python 以及一般编程也比较陌生。我想做的是编写一个 Python 脚本,用于删除每个 .txt 文件中不属于小说
上周我正在开发一个世界生成器(用于 Minecraft 模组)。但是,我不只是在寻找 Perlin 噪声,而是在寻找基于细胞噪声的东西。我想生成一种地下实验室,存在几个不同大小的房间。 为了解释这个问
我已经实现了 native Android SIP solution在我的 Android 应用中。 SipProfile.Builder builder = new SipProfile.Build
我正在尝试用 C++ 实现 Perlin Noise。 首先,问题(我认为)是输出不是我所期望的。目前我只是在灰度图像中使用生成的 Perlin 噪声值,这是我得到的结果: 但是,根据我的理解,它应该
我正在寻找一种算法(或其他技术)来阅读网站上新闻文章的实际内容并忽略页面上的任何其他内容。简而言之,我正在以编程方式从 Google 新闻阅读 RSS 提要。我有兴趣抓取基础文章的实际内容。在我的第一
当我使用 valgrind 帮助调试我正在开发的应用程序时,我注意到大量噪音似乎是在提示标准库。作为测试,我这样做了; echo 'int main() {return 0;}' | gcc -x c
我知道什么是柏林噪音(我写了一些代码来生成它)。 我认为分形噪声是按比例缩放并求和的 Perlin 噪声,对吗? 我有时会在同一篇文章中看到湍流噪声和柏林噪声,但随后这篇文章只讨论了柏林噪声。它们有什
有没有详细介绍 Perlin 噪声生成的好资源?我知道大多数语言都有可用的噪声生成库,但我有兴趣创建自己的库以获取乐趣/体验。我已经看过this ,这看起来很流行,但它只给出了一维噪声的深入解释。到目
许多 Perlin Noise 教程和实现( here 、 here 、 here 等)使用函数来生成如下伪随机值: function Noise(integer x, integer y)
我是一名优秀的程序员,十分优秀!