我一直在尝试解析文本文件并使用正则表达式对其进行操作。这是我的脚本:
import re
original_file = open('jokes.txt', 'r+')
original_file.read()
original_file = re.sub("\d+\. ", "", original_file)
如何修复以下错误:
Traceback (most recent call last):
File "filedisplay.py", line 4, in <module>
original_file = re.sub("\d+\. ", "", original_file)
File "C:\Python32\lib\re.py", line 167, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer
为什么我会收到此错误?
original_file
是文件对象,您需要读取它才能获取其内容或正则表达式所需的缓冲区。
通常,使用它也是很好的with
(只是这样,您不必记住关闭文件),因此您可能会得到如下所示的结果:
import re
with open('jokes.txt', 'r+') as original_file:
contents = original_file.read()
new_contents = re.sub(r"\d+\. ", "", contents)
您将看到我在代码中将regex字符串提取了出来(我r
在regex字符串之前使用了一个)。这也是一个好习惯,因为有时您将不得不对某些字符加倍转义,以使其按预期的方式正常工作。
问题内容: 需要帮忙。有一个名为arglist的数据列表,例如:[‘dlink’,’des’,‘1210’,’c’,24] <-这就是“打印”视图。 这段代码: 它给: 怎么了? 问题答案: 当json.loads需要一个字符串时,您正在尝试加载文件对象。您可以使用 或者更好: 在第一个示例中,文件是打开的,但从未关闭(不好的做法)。在第二个示例中,上下文管理器在离开上下文块后关闭文件。
问题内容: 我在将值写入文件时遇到以下错误。您能帮我弄清楚问题出在哪里以及如何解决吗? 错误: 问题答案: 假设您只想将字符串写入文件,请更改为或issue 。
问题内容: 我想扩展django中的自定义用户模型。我从django官方网站复制粘贴代码。当我想迁移它时会抛出错误 models.py 管理员 错误回溯 0002_auto_20160420_0647.py的内容 问题答案: 您的问题是迁移文件中的以下行: 更改为 要么
问题内容: 我正在尝试启动并运行数据解析脚本。就数据操作而言,它起作用。我想要做的是设置此功能,以便我可以通过一个命令输入多个用户定义的CSV。 例如 如果您有关于如何自动输出CSV命名任何意见,这样,如果,我会很感激这一点。 得到 为线 我的代码: 我不太了解该错误的原因。有人可以用外行的术语解释吗? 请记住,我是一个整体的编程/ python新手,并且基本上是一个人学习,因此,如果可能的话,您
我在游标循环中连接varchar2数据类型时遇到了问题。 过程在循环中迭代,以生成用于批处理的插入和删除操作的in子句。该过程将对每1000个帐号批处理运行。 有没有其他方法可以做到这一点?
我得到以下错误: http.js:593抛出新的TypeError(“第一个参数必须是字符串或缓冲区”); 当我注释掉显示变量'tot'的行时,代码正在运行,我得到的输出是我传递的2个get参数的级联值。在这种情况下,恰好是1+20=120。我无法将数据转换成数字格式。 事先多谢。
问题内容: 我正在尝试创建一个 非常 简单的“计数器”,该计数器应跟踪我的程序已执行了多少次。 首先,我有一个仅包含一个字符的文本文件: 然后,我打开文件,将其解析为,添加到值中,然后尝试将其返回到文本文件: 我想覆盖文本文件中的值,然后将其关闭。 但是我得到的是。 编辑: 尝试解析为字符串: 给 问题答案: 您是否检查了的文档字符串?它说: write(str)->无。将字符串str写入文件。
本文向大家介绍Java中的字符串缓冲区和字符串生成器之间的区别,包括了Java中的字符串缓冲区和字符串生成器之间的区别的使用技巧和注意事项,需要的朋友参考一下 字符串缓冲区和StringBuilder都是可变类,可用于对字符串对象执行操作,例如字符串的反向,压缩字符串等。我们可以在不创建字符串新对象的情况下修改字符串。字符串缓冲区是线程安全的,而字符串生成器不是线程安全的。因此,它比字符串缓冲区快