在python中获取datetime时出错

2024-09-29 19:27:15 发布

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

我有一个文件名为全局.py以及创建报表的函数:

import datetime

class customFail(Exception):pass

def createReport(myModule,iOSDevice,iOSVersion):
    now=datetime.datetime.now()
    resultPath="../Results"
    resultFile="Result_%d_%d_%d_%d_%d_%d.html" % (now.day,now.month,now.year,now.hour,now.minute,now.second)
    fileName="%s/%s" % (resultPath,resultFile)

    fNameObj=open("../Results/resfileName.txt","w")     #Writing result filename temporary 
    fNameObj.write(fileName)                            #in a file to access this filename by other functions (rePass,resFail)

    fileObj=open(fileName,"w")
    fileObj.write("<html>")
    fileObj.write("<body bgcolor=\"Azure\">")
    fileObj.write("<p>                                                           </p>")
    fileObj.write("<table width=\"600\" border=\"5\">");
    fileObj.write("<tr style=\"background-color:LemonChiffon;\">")
    fileObj.write("<td width=\"40%\"><b>Module : </b>"+ myModule+"</td>")
    fileObj.write("<td width=\"30%\"><b>Time : </b>"+ now.strftime("%d-%m-%Y %H:%M")+"</td>")
    fileObj.write("</tr>")
    fileObj.write("<tr>")
    fileObj.write("</tr>")
    fileObj.write("</table>")
    fileObj.write("<table width=\"600\" border=\"5\">");
    fileObj.write("<tr style=\"background-color:BurlyWood;\">")
    fileObj.write("<td width=\"70%\"><b>Device : </b>"+ iOSDevice+" - <b>  Version : </b>"+ iOSVersion+"</td>")
    fileObj.write("</tr>")
    fileObj.write("</table>")
    #fileObj.write("<br>")

我调用这个函数的脚本文件脚本.py你知道吗

import os
from selenium import webdriver
from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.common.action_chains import ActionChains
import time
import sys
sys.path.append('/Users/admin/Desktop/_Suite/Global Scripts/')
from funcLib import *
from myGlobal import *



wd = deviceSelection();
iOSVersion="i7"
iOSDevice="iPhone"
modName="BAT"
suiteStartTime=0

def main():
   start() 
   fntesttrial();
   finish(); 

def  start():
       global modName,suiteStartTime
       global appName,ctx_app,ctx_simulator
       suiteStartTime=time.time();
       createReport(modName,iOSDevice,iOSVersion)

stts=api_clr_acnt.fnClearAccount(myDict["UserName"],myDict["Password"],myDict["Environment"])

def fntesttrial():    
    try:
    wd.find_element_by_name("Accept").click()
    time.sleep(5)   
    wd.find_element_by_name("Sign In").click()
    time.sleep(5)
    wd.find_element_by_name("Need help?").click()
    time.sleep(5)
    wd.find_element_by_name("Close").click()
    time.sleep(5)
    finally:
        wd.quit()

main()

当我运行这个程序时,会出现如下错误:

   now=datetime.datetime.now()
NameError: global name 'datetime' is not defined

我不明白为什么我会犯那个错误。既然我是python新手,请帮帮我。你知道吗


Tags: namefromimportdatetimebytimedefwidth
1条回答
网友
1楼 · 发布于 2024-09-29 19:27:15

我认为您需要导入脚本文件(代码块2)顶部的datetime。这会给您带来错误,因为脚本中确实没有定义datetime,因为它还没有导入。 当您调用“createReport()”时,无法定义“now”,因为它调用的是datetime模块,该模块未导入。你知道吗

如果需要,可以在方法定义的开始处编写import datetime,但是如果调用该方法两次,它将导入datetime两次,因此最好只在第二个代码块的开始处导入。你知道吗

相关问题 更多 >

    热门问题