テキスト ファイルを読み取り、条件に基づいてデータを 1 行ずつ検索し、その行の値をいくつか変更して別のファイルに書き戻しています。新しいファイルには古い行が含まれていてはなりません。以下を試してみましたが、うまくいきませんでした。私は非常に基本的なことが欠けていると思います。
解決策: C++ では行をインクリメントできますが、Python ではこれを実現する方法がわかりません。だから今のところ、私は新しい行よりも古い行を書いています。しかし、新しいファイルでは、新しい行だけが必要です。
例:
M0 38 A 19 40 DATA2 L=4e-08 W=3e-07 nf=1 m=1 $X=170 $Y=140 $D=8
M0 VBN A 19 40 TEMP2 L=4e-08 W=3e-07 nf=1 m=1 $X=170 $Y=140 $D=8
私が試したコードは次のとおりです。
def parsefile():
fp = open("File1", "rb+")
update_file = "File1" + "_update"
fp_latest = open(update_file, "wb+")
for line in fp:
if line.find("DATA1") == -1:
fp_latest.write(line)
if line.find("DATA1") != -1:
line = line.split()
pin_name = find_pin_order(line[1])
update_line = "DATA " + line[1] + " " + pin_name
fp_latest.write(update_line)
line = ''.join(line)
if line.find("DATA2") != -1:
line_data = line.split()
line_data[1] = "TEMP2"
line_data =' '.join(line_data)
fp_latest.write(line_data)
if line.find("DATA3") != -1:
line_data = line.split()
line_data[1] = "TEMP3"
line_data =' '.join(line_data)
fp_latest.write(line_data)
fp_latest.close()
fp.close()