2015-04-14 133 views
1

首先來替換,我想這些問題,我沒有工作:搜索和二進制文件

我操縱一個PDF工作二進制文件。我需要用其他替換字符串。

這是我的方法:

#!/usr/bin/python3 
# -*- coding: UTF-8 -*- 

with open("proof.pdf", "rb") as input_file: 
    content = input_file.read() 
    if b"21.8182 686.182 261.818 770.182" in content: 
     print("FOUND!!") 
    content.replace(b"21.8182 686.182 261.818 770.182", b"1.1 1.1 1.1 1.1") 
    if b"1.1 1.1 1.1 1.1" in content: 
     print("REPLACED!!") 

with open("proof_output.pdf", "wb") as output_file: 
    output_file.write(content) 

當我運行該腳本,它顯示「找到了!」,而不是「所代替!」

回答

2

這是因爲string replacesub在python re沒有進行就地更換。在這兩種情況下,你都會得到另一個字符串。

替換: -

content.replace(b"21.8182 686.182 261.818 770.182", b"1.1 1.1 1.1 1.1") 

content = content.replace(b"21.8182 686.182 261.818 770.182", b"1.1 1.1 1.1 1.1") 

這應該工作。

+0

Thaks!是的 – Trimax