0

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))
4

3 に答える 3

1

これにより、出力がファイルに印刷されたとおりに印刷されstdoutます。write()関数で「、」を使用していましたか?それは2つの別々の引数として扱われます。

writePythonシェルのヘルプからの詳細。

write(...)
write(str)->なし。文字列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))
于 2013-01-21T21:31:34.887 に答える
1
#! /usr/bin/python3.2

with open("out2.txt","w") as f:
    for lat in range (-90, 100, 10):
        for lon in range (-180, 190, 10):
                f.write ("latitude: {}\tlongitude: {}\n".format (lat, lon) )
于 2013-01-21T23:44:10.927 に答える
1

TheFile=open("C:/test.txt","w")ステートメントを1 つだけ使用し、ステートメントを 1 つだけ使用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()
于 2013-01-21T21:30:37.293 に答える