Python-定义全局名称datetim

2024-04-25 11:57:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个函数,在其中使用来自datetime模块的各种函数,如strftime、strptime和timedelta。

我觉得我什么都试过了,但每次有人告诉我:

      4 date = '2012.09.07'
      5 
----> 6 q = net(date)
      7 print q

/Users/fb/Documents/Python_files/test_function.pyc in net(date)
      1 def net(date):
----> 2     b = datetime.strptime(a, '%Y.%m.%d')
      3     c = b.strftime('%d:%m:%y')
      4     return c

NameError: global name 'datetime' is not defined

我读过,其他人可能会遇到与我相同的问题,即“它在python解释器中工作,但在脚本中不工作”。有人能帮忙吗?


Tags: 模块函数testdatetimedatenetfbfunction
1条回答
网友
1楼 · 发布于 2024-04-25 11:57:52

您需要在模块中导入datetime对象

from datetime import datetime

test_function.py的顶部。

在解释器会话中,您可能已经导入了对象。

然后,整个模块将如下所示:

from datetime import datetime

def net(date):
    b = datetime.strptime(date, '%Y.%m.%d')
    c = b.strftime('%d:%m:%y')
    return c

我用date替换了a,因为这是函数的实际参数的名称。

注意,datetime模块包含一个datetime,这是这里唯一导入的东西。如果您还需要访问datetimedelta类,请显式导入这些类(from datetime import datetime, date, timedelta)或导入模块,并将内容作为属性引用(import datetime,然后datetime.datetime.strptime()datetime.date.today(),等等)。

相关问题 更多 >