将Python中嵌套的'while'循环函数输出到文本文件中

时间:2013-01-21 21:25:53

标签: python loops while-loop nested text-files

我一直在尝试将Python中嵌套的'while'循环函数的输出转换为文本文件。我知道'写一个文件'是:

TheFile=open("C:/test.txt","w")
TheFile.write("Hello")
TheFile.close()

但是当想要将我的经纬度坐标的输出输出到文本文件中时,我应该使用什么?我能够从打印功能中得到我想要的东西,但似乎无法将其放入文本文件中......谢谢:

lat=-100
long=-190
 while lat <=80:
  lat=lat+10
  long=-190
  while long<=170:
      long=long+10
     print ("latitude:"+format(lat),"longitude:"+format(long))

2 个答案:

答案 0 :(得分:1)

只使用一个TheFile=open("C:/test.txt","w")语句,只使用一个TheFile.close()语句,并确保它们在所有循环之外。

然后,您可以将file=参数用于print,否则将其保持为完全相同的print语句。

在您的示例中,例如:

TheFile=open("C:/test.txt","w")
lat=-100
long=-190
 while lat <=80:
  lat=lat+10
  long=-190
  while long<=170:
      long=long+10
      print ("latitude:"+format(lat),"longitude:"+format(long), file=TheFile)
TheFile.close()

答案 1 :(得分:1)

这会将stdout上打印的输出打印到文件中。你在write()函数中使用','吗?它将它视为两个独立的论点。

更多关于来自Python shell帮助的write

  

写(...)
      写(str) - &gt;没有。将字符串str写入文件。

Note that due to buffering, flush() or close() may be needed before
the file on disk reflects the data written.

试试这段代码:

with open("output","w") as f:
  lat=-100
  long=-190
  while lat <=80:
    lat=lat+10
    long=-190
    while long<=170:
      long=long+10
      f.write("latitude:"+format(lat)+" longitude:"+format(long))