2017-12-30 42 views
0
#!/usr/bin/python 

import sys 
import time 
from time import time, sleep 

end_time = time() + 3 * 3600 
while time() < end_time: 
    with open('mytime.txt', 'a') as the_file: 
     the_file.write(time.strftime("%d.%m.%Y %H:%M:%S", time.localtime())) 
     sleep(60) 

現在の時刻をファイルに出力できません。私のコードは次のエラーにつながる:Python2:現在時刻をファイルに書き込めません。

Traceback (most recent call last): 
    File "./mytime.py", line 58, in <module> 
    the_file.write(time.strftime("%d.%m.%Y %H:%M:%S", time.localtime())) 
AttributeError: 'builtin_function_or_method' object has no attribute 'strftime' 

しかし、このコードは動作します:

#!/usr/bin/python2 

import time 
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) 

しかし、それだけで時刻を表示し、ファイルに保存しません。

どこが違うのですか。最初の例で何が間違っていますか?あなたが持っている最初の例では

+0

と時間から、あなたは時間を読み込む:2番目の例では

あなたが適切にモジュール全体をインポートします。だから、あなたはPythonスコープのtimeパッケージからtimeモジュールだけを持つことになります。修正は、単にtime.time()、time.sleep()、time.strftime()を使用して時間をインポートすることです。 –

+1

@ChihebNexus:ありがとう、それは動作します! – opens

答えて

1

:意味

from time import time 

あなたがtime.strftime(...)を呼び出す場合、あなたはモジュールtimeからオブジェクトtimeからのstrftimeを呼び出すためのPythonを教えてください。オブジェクトtimeのみをモジュールtimeからインポートしたため、モジュール全体ではありません。オブジェクトtimeは関数です。あなたが時間をインポートしているので

import time 
関連する問題