将Mac的python代码转换为Windows

时间:2012-02-21 18:54:19

标签: python file-io cross-platform

我是python的新手,我对一段python代码有疑问,它会从模型输出文件中创建一个清理过的输出文件。此代码是为Mac用户编写的,但现在我想在Windows中运行它。但它给出了一条错误信息。你能帮我转换这段代码,以便在Windows中使用它吗?感谢。

import sys

if len(sys.argv) > 1:
  fileName = sys.argv[1]
else:
  print "selected_um_b.out" #insert file name here
  sys.exit()

f = open(fileName)
counter = 0

fw = open(fileName+".cleaned", 'w')

for line in f:
   line = line.strip()
   counter = counter + 1
   if counter <= 4:
      fw.write(line+"\n");
      continue
   values = line.split("\t")
   if (values[4].strip() == "-99" or values[5].strip() == "0"): continue
   fw.write("\t".join(values)+"\n")

f.close()

更新

错误消息是:

  

Traceback(最近一次调用最后一次):文件   sys.exit()中第7行的“C:\ trial_batch \ clean_output.py”   SystemExit

1 个答案:

答案 0 :(得分:1)

程序在执行时需要命令行上的文件名。看来你没有提供,所以程序退出(sys.exit()调用终止程序)。

你是如何尝试使用它的?如果您只想转换一个文件,请将文件和Python脚本放在同一目录中。用filename = "yourfilename.typ"替换第3行到第7行(不要缩进该行);它将读取文件(在我的示例中为“yourfilename.typ”)并在文件名中写入一个带“clean”的输出文件。