似乎无法在 Python 的同一脚本中使用导入时间和导入日期时间

新手上路,请多包涵

我在 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'

所以我不确定如何让这两个模块很好地发挥作用。或者我需要另一种方法来延迟脚本。

建议?或者指出我犯的错误?

谢谢。

原文由 user1070061 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 515
1 个回答

您可以在导入时间时使用 as

 import time as t
from datetime import datetime
...
t.sleep(2)

原文由 Manush Bhatt 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题