0

私はPython 2.4.4を使用していますが、書き込みのためにログファイルを開こうとすると、何らかの理由でタイプエラーがスローされ続けます...問題の関数は次のとおりです...

import os
def write(inlog, outlog):
  # parse the logs and save them to our own...
  parsed = NTttcpParse(inlog)
  debug("PARSED")
  debug(parsed)
  if os.path.exists(outlog):
    fh = os.open(outlog, os.O_WRONLY | os.O_APPEND)
    debug("Opened '%s' for writing (%d)" % (outlog, fh))
  else:
    fh = os.open(outlog, os.O_WRONLY | os.O_CREAT)
    debug("Created '%s' for writing (%d)" % (outlog, fh))
  debug("type(fh) = %s" % type(fh))
  os.write(fh, LOGFORMAT % parsed)
  os.close(fh)

そして、ここに狂ったエラーがあります...

TypeError: int argument required

助けてください...そして事前に感謝します:P

4

2 に答える 2

5

奇妙な方法でファイル I/O を実行しています。これを行う方法は次のとおりです。

f = open(outlog, "w")
f.write("some data written to file\n")
f.close()

追加したい場合は、open(outlog, "a")代わりに使用してください。読みたい場合は、 を使用してくださいopen(outlog, "r")。このような基本的なファイル I/O 操作について説明している Python チュートリアルもお読みください。

withPython 2.5 以降では、次のステートメントを使用できることに注意してください。

with open(outlog, "w") as f:
    f.write("some data written to file\n")

(あなたが2.4を使用していると言う前に、私はもともとこれを主な回答として投稿しました。)

于 2012-07-17T20:23:35.837 に答える
0

ええ、私は単純なエラーを犯しました-解析されたタプルに十分な項目を入力していませんでした^_^ 回答ありがとうございます!

于 2013-03-25T20:33:43.360 に答える