タブ区切りファイルの各行の一部を削除して別の場所に新しいファイルに情報を書き込みます拡張)。関数を1つのファイルで使用するとうまくいきますが、ディレクトリ内のすべてのファイル(os.listdirを使用して)で使用しようとすると、リストのインデックスが範囲外になってしまいます。以下は私の関数である。ファイルを解析するためのPython関数は、単一ファイルでは機能しますが、バッチでは機能しません。
def ext_edit(filename):
prefix = filename[0:-3]
mapfile = "location/of/new/file/" + prefix + "map"
with open(filename) as f:
with open (mapfile, "w") as out:
for line in f:
x = line.split("\t")
del x[2:4]
out.write(x[0])
out.write(" ")
out.write(x[1])
out.write("\n")
これは、単一のファイルで正常に動作しますが、私はout.write(x[1])
でエラーが発生して、範囲外のインデックスを取得します。 x[0]
だけで動作するかどうかをテストするには、後者の部分を削除したが、 "No such file or directory:" filename.txt "というエラーが出る。
以下は、 :?、それは次のようになります。私は間違ってこれでつもりどこ
for file in os.listdir("location/of/original/file"):
ext_edit(file)
は誰もが知ってい
エラーに基づいて
エラーが発生し、ファイル名を印刷し、それが内部に一つだけのタブを持っていることがあります... – mvelay
Iドンタグ 'batch-file'がここに適していると思いますか? –
お詫び申し上げます。削除しました。 – spiral01