なぜ私はこのバギーの出力を得続けているのか分かりません。バグのテキスト置換コード:
入力ファイル:
ff1
ff2
ff3
ff10
ff11
ff20
ff21
ff23
gb20
gb10
gh23
出力ファイル:
FF01
FF02
FF03
FF010
FF011
FF020
FF021
FF023
GB020
GB010
GH023
コード:
import os
import sys
#directory is the directory we will work from
directory = "C:\\Users\\user\\Desktop"
os.chdir(directory)
renameWhat = ["ff", "gb", "gh"]
oldFile = open("New Text Document.txt")
buffer = oldFile.read()
for item in renameWhat:
for i in range(0, 50):
if i < 10:
buffer = buffer.replace(item + str(i), item.upper() + "0" + str(i))
else:
buffer = buffer.replace(item + str(i), item.upper() + str(i))
outFile = open("test.txt", "w")
outFile.write(buffer)
outFile.close()
oldFile.close()
発生する必要があるもの:
私がFFを交換しようとしています大文字(完了)、その後、私はtが必要ですo less than or equal to 9
のすべての数値に0を加算します。だから、私はif i is less than 10
が十分に良いと思う。それは9以上のすべてにゼロを追加しているからではありません。私はlen(str(i))
で試して、それが長さ1のものであることを確認しましたが、それでも動作しません。私は何が欠けていますか?
私はそのような初歩的なエラーを逃したと信じて、まだ明らかではないバグです。私はちょうどそれを修正するファイル拡張子を追加しました。ありがとう – nobody