What might cause my sample program to forget that already imported datetime?
Steve
Gronicus at SGA.Ninja
Mon Oct 12 13:47:39 EDT 2020
Thank you, those two fixes took care of the problem.
Footnote:
The only time incorrectly is spelled incorrectly
is when it is spelled "incorrectly".
-----Original Message-----
From: Python-list <python-list-bounces+gronicus=sga.ninja at python.org> On
Behalf Of Chris Angelico
Sent: Monday, October 12, 2020 6:37 AM
To: Python <python-list at python.org>
Subject: Re: What might cause my sample program to forget that already
imported datetime?
On Mon, Oct 12, 2020 at 9:14 PM Steve <Gronicus at sga.ninja> wrote:
>
> At the top of my sample program, I have:
>
> import datetime
> from datetime import *
>
> But import datetime also has to be entered on line 21 as shown.
> The error is printed at the bottom of the code.
> Why does the code seem to forget that I have already imported datetime?
> =============================================================
> import datetime
> from datetime import *
>
> d2 = datetime.now()
> d2i = d2.isoformat()
>
> with open("TimeDate.txt", 'r') as infile:
> for BottleInfo in infile: # loop to find each line in the file
> for that dose
> BottleInfo = BottleInfo.strip()
>
> if ((BottleInfo[0:3]== "LBD")):
> BottleData = BottleInfo[0:43].strip()
>
> BottleDataA = BottleData[4:14].strip() BottleDataB =
> BottleData[16:30].strip() BottleDataC = BottleDataA + " " +
> BottleDataB print("BottleDataC = <" + BottleDataC + ">")
> print()
> d1 = BottleDataC
>
> import datetime #Why does this have to be here? line 21
>
> dto = datetime.datetime.strptime(d1, '%Y-%m-%d %H:%M:%S.%f') dti =
> dto.isoformat()
>
> HoursDiff = int((d2-dto).total_seconds()/3600)
> print("HoursDiff = " + str(HoursDiff))
> print()
>
> TimeDateInfo=open("TimeDate.txt", "a") TimeDateInfo.write("{0:>5}
> {1:>25} {2:>5}\n".format ("LBD", d2i, HoursDiff))
> TimeDateInfo.close()
>
> print("Done")
>
> """
> This is the error I get if I comment out line 21:
>
> Traceback (most recent call last):
> File "F:/Med Insulin codes A/A TEST 10-07-2020/ReadWriteTimeDate
> POSIX Samplea.py", line 38, in <module>
> dto = datetime.datetime.strptime(d1, '%Y-%m-%d %H:%M:%S.%f')
> AttributeError: type object 'datetime.datetime' has no attribute
'datetime'
> """
> This code will be copied into another program as a function and the
> presence of import datetime in line 21 causes another error.
>
The issue here is that you've done two different imports at the top:
import datetime
from datetime import *
These are incompatible with each other, so you're going to get issues.
I'd recommend doing just the first one, and then identifying d2 as
datetime.datetime.now() instead.
ChrisA
--
https://mail.python.org/mailman/listinfo/python-list
More information about the Python-list
mailing list