我试图在这个pdf格式文件(header.fdf,我推测这被视为二进制文件)中搜索和替换一些文本(例如“Smith,John”):
'%FDF-1.2\n%\xe2\xe3\xcf\xd3\n1 0 obj\n<</FDF<</Fields[<</V(M)/T(PatientSexLabel)>><</V(24-09-1956 53)/T(PatientDateOfBirth)>><</V(Fisher)/T(PatientLastNameLabel)>><</V(CNSL)/T(PatientConsultant)>><</V(28-01-2010 18:13)/T(PatientAdmission)>><</V(134 Field Street\\rBlackburn BB1 1BB)/T(PatientAddressLabel)>><</V(Smith,John)/T(PatientName)>><</V(24-09-1956)/T(PatientdobLabel)>><</V(0123456)/T(PatientRxr)>><</V(01234567891011)/T(PatientNhsLabel)>><</V(John)/T(PatientFirstNameLabel)>><</V(0123456)/T(PatientRxrLabel)>>]>>>>\nendobj\ntrailer\n<</Root 1 0 R>>\n%%EOF\n'
后
f=open("header.fdf","rb") s=f.read() f.close() s=s.replace(b'PatientName',name)
发生以下错误:
Traceback (most recent call last): File "/home/aj/Inkscape/Med/GAD/gad.py",line 56,in <module> s=s.replace(b'PatientName',name) TypeError: expected an object with the buffer interface
怎么最好这样做?
解决方法
f=open("header.fdf","rb") s=str(f.read()) f.close() s=s.replace(b'PatientName',name)
要么
f=open("header.fdf",bytes(name))
可能是后者,因为我不认为你将能够使用unicode名称与这种类型的替代
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。