【发布时间】:2012-06-28 00:37:03
【问题描述】:
我在 Windows 上使用 Python 2.7,并且正在编写一个同时使用时间和日期时间模块的脚本。我以前做过,但是 python 似乎对加载两个模块很敏感,而且我之前使用的方法似乎不起作用。以下是我使用的不同语法以及我目前遇到的错误。
首先我尝试过:
from datetime import *
from time import *
...
checktime = datetime.today() - timedelta(days=int(2))
checktime = checktime.timetuple()
...
filetimesecs = os.path.getmtime(webgatelogdir + '/' + fn)
file = webgatelogdir + '/' + fn
filetime = localtime(filetimesecs)
...
else: time.sleep(60)
错误:
else: time.sleep(60) AttributeError: 'builtin_function_or_method' object has no attribute 'sleep'
然后我尝试了:
from datetime import *
from time import *
...
checktime = datetime.today() - timedelta(days=int(2))
checktime = checktime.timetuple()
...
filetimesecs = os.path.getmtime(webgatelogdir + '/' + fn)
file = webgatelogdir + '/' + fn
filetime = localtime(filetimesecs)
...
#else: time.sleep(60) # comment out time.sleep statement
我没有出错,但也没有睡眠延迟。
接下来我尝试了:
from datetime import *
import time
...
checktime = datetime.today() - timedelta(days=int(2))
checktime = checktime.timetuple()
...
filetimesecs = os.path.getmtime(webgatelogdir + '/' + fn)
file = webgatelogdir + '/' + fn
filetime = localtime(filetimesecs)
...
#else: time.sleep(60) # comment out time.sleep statement
错误:
filetime = localtime(filetimesecs) NameError: name 'localtime' is not defined
另一个修改,我试过这个:
import time
import datetime
...
checktime = datetime.today() - timedelta(days=int(2))
checktime = checktime.timetuple()
...
filetimesecs = os.path.getmtime(webgatelogdir + '/' + fn)
file = webgatelogdir + '/' + fn
filetime = localtime(filetimesecs)
...
#else: time.sleep(60) # comment out time.sleep statement
错误
checktime = datetime.today() - timedelta(days=int(2)) AttributeError: 'module' object has no attribute 'today'
最后,我尝试了这个:
import time
from datetime import *
...
checktime = datetime.today() - timedelta(days=int(2))
checktime = checktime.timetuple()
...
filetimesecs = os.path.getmtime(webgatelogdir + '/' + fn)
file = webgatelogdir + '/' + fn
filetime = localtime(filetimesecs)
...
#else: time.sleep(60) # comment out time.sleep statement
错误:
checktime = datetime.today() - timedelta(days=int(2))
AttributeError: 'module' object has no attribute 'today'
所以我不确定如何让这两个模块很好地发挥作用。或者我需要另一种方法来延迟脚本。
建议?或者指出我犯的错误?
谢谢。
【问题讨论】:
-
好的,我一直在编码和测试,而你们一直在回答(谢谢!)。这就是我将导入行更改为“从时间导入时间,睡眠,本地时间从日期时间导入日期时间,timedelta”,这使得除了睡眠语句之外的一切都可以工作。如果我使用 'time.sleep(60)' 我得到 AttributeError: 'builtin_function_or_method' 对象没有属性 'sleep' 但如果我使用 'time.time.sleep(60)' 我得到相同错误。
-
好的,我一直在编码和测试,而你们一直在回答(谢谢!)。这是我将导入行更改为: from time import time, sleep, localtime from datetime import datetime, timedelta 这使得除了 sleep 语句之外的所有内容都可以工作。在使用 'time.sleep(60)' 然后 'time.time.sleep(60)' 之后,最终起作用的是 'sleep(60)'
-
相关:python “import datetime” v.s. “from datetime import datetime”。还有
datetime.time类。
标签: python datetime time sleep