我有这个代码片段,我正在尝试使用python从文件末尾向后搜索:
f=open('D:\SGStat.txt','a');
f.seek(0,2)
f.seek(-3,2)
运行时将引发以下异常:
f.seek(-3,2)
io.UnsupportedOperation: can't do nonzero end-relative seeks
我在这里想念什么吗?
从Python
3.2及更高版本的文档中:
在文本文件中(那些
b
在模式字符串中不带a开头的文件),仅允许相对于文件开头的查找(查找到文件末尾为的例外seek(0, 2)
)。
因此,您可以将程序更改为:
f = open('D:\SGStat.txt', 'ab')
f.seek(0, 2)
f.seek(-3, 2)
但是,您应该注意,在b
读取或写入文本时添加标志会产生意想不到的后果(例如,使用多字节编码),并且实际上会更改读取或写入的数据类型。有关问题原因的更详尽讨论以及不需要添加b
标志的解决方案
目前我正在测试PhpStorm IDE。它真的很棒,除了一个功能。它不会从文件末尾删除空行。现在删除不需要的空格,但末尾的空行不会删除。 这对我来说真的很烦人。我能改变这种行为吗?
所以我试着从一个字符串中使用getBytes,我知道如果它遇到一个不能变成真实数据的字符,它会抛出一个UnsupportedEncodingException。我添加了java.io来提供异常,但是当我把它放到try catch语句中时,我得到了“UnsupportedEncodingException的不可到达的catch块。此异常从不从try语句体中引发" 这是我的确切结构。myCharact
在使用boto3 for python实现aws textract时。 代码: 下面是aws的凭证和配置文件 我得到了一个例外: 我对AWS textract有点陌生,任何帮助都将不胜感激。
问题内容: 在我当前的项目中,我们总是在Java源文件的末尾插入一个空的新行。我们还使用CheckStyle(具有错误级别)来强制执行此操作。 我一直在寻找这个主题很长时间,但是不幸的是,我找不到任何令人信服的理由。似乎其他开发人员对此无动于衷,因为他们只是选中了Eclipse formatter中的一个复选框,并且它是自动完成的。但是我仍然不知道为什么需要它,为什么它很重要。所以我的问题是: 为
我有一个函数,它将被传递一个空指针。此指针可以是int、char或float。我知道通过关联值将传递给我的数据类型。例如,下面是我的函数的外观: 如果传递给我的void指针最初是一个char类型,我将它转换回char类型,有没有办法确定与该指针关联的字节数?例如,如果我的函数按如下方式调用: 我将void指针转换回char指针 有没有什么方法可以计算出使用了多少字节?我可能需要搜索空字符并计算它与
我正在使用Goland来编写我的grpc应用程序。生成我的原型文件后,文件末尾不存在尾随换行符。有没有办法在 IDE 中启用此功能?