नीचे कोड है जिस पर मैं काम कर रहा हूं। जो मैं कह सकता हूं उससे कोई मुद्दा नहीं है, लेकिन जब मैं कोड के टुकड़े को चलाने का प्रयास करता हूं तो मुझे एक त्रुटि मिलती है।Timedelta को परिभाषित नहीं किया गया है
import os
import datetime
def parseOptions():
import optparse
parser = optparse.OptionParser(usage= '-h')
parser.add_option('-t', '--type', \
choices= ('Warning', 'Error', 'Information', 'All'), \
help= 'The type of error',
default= 'Warning')
parser.add_option('-g', '--goback', \
type= 'string')
(options, args) = parser.parse_args()
return options
options = parseOptions() now = datetime.datetime.now() subtract = timedelta(hours=options.goback) difference = now - subtract
if options.type=='All' and options.goback==24:
os.startfile('logfile.htm')
else:
print
print 'Type =', options.type,
print
print 'Go Back =', options.goback,'hours'
print difference.strftime("%H:%M:%S %a, %B %d %Y")
print
त्रुटि के रूप में आता है:
Traceback (most recent call last):
File "C:\Python27\Lib\SITE-P~1\PYTHON~2\pywin\framework\scriptutils.py", line 325, in RunScript
exec codeObject in __main__.__dict__
File "C:\Users\user\Desktop\Python\python.py", line 19, in <module>
subtract = timedelta(hours=options.goback)
NameError: name 'timedelta' is not defined
किसी भी मदद की सराहना की जाएगी।
बिल्कुल सही, सभी मदद के लिए धन्यवाद। मुझे लगता है कि यह उपयोग करने में बहुत आसान है: 'datetime.timedelta' और मैंने टाइप को int में बदल दिया है। फिर से धन्यवाद। – Mitchell
हां, एक बार जब आपने टाइमटाइटा क्लास का उल्लेख करते हुए डेटाटाइम आयात किया है तो 'datetime.timedelta' सामान्य सामान्य अभ्यास होगा। मुद्दा यह है कि डेटाटाइम मॉड्यूल को आयात करने से आप सभी नामों को परिभाषित कर सकते हैं, लेकिन आपको उन्हें अपने नामस्थान के माध्यम से संदर्भित करना होगा। आप मॉड्यूल आयात करने के सामान्य पैटर्न को देखेंगे और फिर इसकी सामग्री को अक्सर संदर्भित करेंगे। –