Tôi phải lấy một chuỗi chứa giữ chỗ để thay thế sau này, như:
"A %s B %s"
Và biến nó thành:
"A {0} B {1}"
Tôi đến với:
def _fix_substitution_parms(raw_message):
rv = raw_message
counter = 0
while '%s' in rv:
rv = rv.replace('%s', '{' + str(counter) + '}', 1)
counter = counter + 1
return rv
Điều đó làm việc, nhưng nó cảm thấy siêu cồng kềnh, và không phải là con trăn "thành ngữ".
Làm thế nào một giải pháp trăn tốt, thành ngữ sẽ trông như thế nào?
Cập nhật để làm rõ:
- các chuỗi kết quả không được sử dụng trong python. Tôi làm cần những con số truy cập trong đó! (như vậy
{}là không đủ tốt)! - Tôi chỉ cần quan tâm đến các
%schuỗi, vì các tin nhắn được đảm bảo chỉ sử dụng%s(không có%i %fgì)