Hướng dẫn python replace character in text file - python thay thế ký tự trong tệp văn bản

9

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi muốn thay thế các ký tự bằng cách sử dụng các hướng dẫn mã hóa trong một tệp văn bản.

Tệp văn bản của tôi chứa dòng:

This is a message

Tôi muốn thay thế ____ 14, ________ 15, ________ 16

Vì vậy, dòng viết:

Thi3 i3 e massega

Tôi đã thử mã sau nhưng nó chỉ thay đổi một ký tự trong dòng cùng một lúc.

import sys
import codecs

def encode():
  path = "C:\Users\user\Desktop"
  basename = "assgn2part1.txt"
  filename = path + "\\" + basename
  #file = open(filename, "rt")
  f = codecs.open(filename,encoding='utf-8')
  contents = f.read()


  print contents ,"\n"
  newcontents = contents.replace('a','e')
  newcontents = contents.replace('s', '3')

  print newcontents


  f.close()

Hướng dẫn python replace character in text file - python thay thế ký tự trong tệp văn bản

Khi được hỏi ngày 12 tháng 5 năm 2012 lúc 10:08May 12, 2012 at 10:08

3

Thay thế này:

newcontents = contents.replace('a','e')
newcontents = contents.replace('s', '3')

Với cái này:

newcontents = contents.replace('a','e')
newcontents = newcontents.replace('s', '3')

Hoặc tốt hơn:

newcontents = contents.replace('a','e').replace('s', '3')

Mã của bạn chỉ xuất hiện để cố gắng thay thế 'A' bằng 'e', ​​chứ không phải 'e' bằng 'a'. Đối với điều đó, bạn cần những điều sau:

import string
newcontents = contents.translate(string.maketrans("aes", "ea3"))

Đã trả lời ngày 12 tháng 5 năm 2012 lúc 10:13May 12, 2012 at 10:13

Robertrobertrobert

32K8 Huy hiệu vàng52 Huy hiệu bạc72 Huy hiệu đồng8 gold badges52 silver badges72 bronze badges

6

Đây là một ý chính đơn giản mà bạn có thể thấy và nhận được một số trợ giúp

x = open("e:/a.txt" )
s=x.read().replace("a", "xy" ) 
x.close()

//Now open the file in write mode and write the string with replaced

x=open("e:/a.txt","w")
x.write(s)
x.close

Đã trả lời ngày 2 tháng 5 năm 2018 lúc 7:06May 2, 2018 at 7:06

Hướng dẫn python replace character in text file - python thay thế ký tự trong tệp văn bản

Siddy hackssiddy hackSiddy Hacks

1.21012 huy hiệu bạc11 huy hiệu đồng12 silver badges11 bronze badges

1

>>> strs="this is a message"
>>> strs="".join(['a' if x=='e' else 'e' if x=='a' else '3' if x=='s' else x for x in strs])
>>> print(strs)
thi3 i3 e ma33ega

hoặc như Robert đề xuất, hãy sử dụng từ điển, use a dictionary

>>> strs="this is a message"
>>> dic={'a':'e','e':'a','s':'3'}
>>> strs="".join((dic.get(x,x) for x in strs))
>>> print(strs)
thi3 i3 e ma33ega

or:

Thi3 i3 e massega
0

Đã trả lời ngày 12 tháng 5 năm 2012 lúc 10:20May 12, 2012 at 10:20

Hướng dẫn python replace character in text file - python thay thế ký tự trong tệp văn bản

Ashwini Chaudharyashwini ChaudharyAshwini Chaudhary

237K56 Huy hiệu vàng449 Huy hiệu bạc498 Huy hiệu Đồng56 gold badges449 silver badges498 bronze badges

3

Hoạt động tốt ở đây.

Thi3 i3 e massega
1

Lưu ý: Nếu bạn muốn thay thế thứ hai hoạt động, bạn nên làm điều đó trên Newcontents:

newcontents = contents.replace('a','e')
newcontents = newcontents.replace('s', '3')

Đã trả lời ngày 12 tháng 5 năm 2012 lúc 10:28May 12, 2012 at 10:28

Hướng dẫn python replace character in text file - python thay thế ký tự trong tệp văn bản

Roland Smithroland SmithRoland Smith

40,9K3 Huy hiệu vàng59 Huy hiệu bạc87 Huy hiệu đồng3 gold badges59 silver badges87 bronze badges

Bạn cũng có thể sử dụng regex

Thi3 i3 e massega
3

Đã trả lời ngày 29 tháng 1 năm 2013 lúc 8:55Jan 29, 2013 at 8:55

MiragemirageMirage

30.2K60 Huy hiệu vàng165 Huy hiệu bạc257 Huy hiệu đồng60 gold badges165 silver badges257 bronze badges

Làm thế nào để bạn thay thế văn bản trong một tệp văn bản trong Python?

Phương pháp 1: Xóa tất cả văn bản và viết văn bản mới trong cùng một tệp ..
Phương pháp 2: Sử dụng chức năng thay thế trong vòng lặp ..
Phương pháp 3: Sử dụng mô -đun HĐH để thay thế tệp bằng văn bản mới ..
Phương pháp 4: Sử dụng FileInput. đầu vào().

Làm thế nào để bạn thay đổi một ký tự trong một tệp văn bản?

Mở tệp văn bản trong Notepad. Nhấp vào Chỉnh sửa trên thanh menu, sau đó chọn Thay thế trong menu Chỉnh sửa. Khi ở trong cửa sổ tìm kiếm và thay thế, nhập văn bản bạn muốn tìm và văn bản bạn muốn sử dụng để thay thế.

Làm thế nào để bạn thay thế một chuỗi trong một tệp trong Python?

Để thay thế một chuỗi trong tệp bằng Python, hãy làm theo các bước sau:..
Mở tệp đầu vào ở chế độ đọc và xử lý nó ở chế độ văn bản ..
Mở tệp đầu ra ở chế độ ghi và xử lý nó ở chế độ văn bản ..
Đối với mỗi dòng đọc từ tệp đầu vào, thay thế chuỗi và ghi vào tệp đầu ra ..
Đóng cả tệp đầu vào và đầu ra ..

Làm cách nào để tìm và thay thế văn bản trong Python?

Đây là mã của tôi: Nhập hệ điều hành Nhập Sys Nhập FileInput Print ("Text để tìm kiếm:") TextToSearch = input (">") in ("Text để thay thế nó bằng:") texttorePlace = input (">") in ("Tệp để thực hiện tìm kiếm-thay thế trên:") FiletoSearch = input (">") #filetoSearch = 'd: \ dummy1.