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"). 另请阅读Python 教程,其中解释了类似的基本文件 I/O 操作。

请注意,在 Python 2.5 及更高版本中,您可以使用以下with语句:

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 回答