关于文件io:将Mac的python代码转换为Windows

Converting a python code for Mac to Windows

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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+"
"
);
      continue
   values = line.split("\t")
   if (values[4].strip() =="-99" or values[5].strip() =="0"): continue
   fw.write("\t".join(values)+"
"
)

f.close()

更新

错误消息为:

Traceback (most recent call last): File
"C:\trial_batch\clean_output.py", line 7, in sys.exit()
SystemExit


程序在执行时需要在命令行上有一个文件名。似乎您没有提供,所以程序退出(sys.exit()调用终止程序)。

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