obj.getObject()['/FormXObject'] = obj.getObject()['/FormXObject'].getData().replace(b'我是猪', b''):bytes can only contain ASCII literal characters
时间: 2023-08-31 10:06:42 浏览: 191
对不起,我的回答有误。在 Python 中,字符串和 bytes 之间有一定的区别,因为 bytes 只能包含 ASCII 字符。因此,如果要在 bytes 里面进行替换,需要使用 bytes 类型的字符串,而不能直接使用普通字符串。在这种情况下,可以使用 `b'...'` 的方式来表示 bytes 类型的字符串。
因此,在上述代码中,应该将 `replace` 方法的第一个参数和第二个参数都改为 bytes 类型的字符串,即将:
``` python
obj.getObject()['/FormXObject'] = obj.getObject()['/FormXObject'].getData().replace('我是猪', '')
```
改为:
``` python
obj.getObject()['/FormXObject'] = obj.getObject()['/FormXObject'].getData().replace(b'我是猪', b'')
```
这样就可以正确地将水印内容从 bytes 类型的字符串中移除了。非常抱歉给您造成了困扰。
阅读全文