Dưới đây là mã tôi đang làm việc. Từ những gì tôi có thể nói không có vấn đề, nhưng khi tôi cố gắng chạy đoạn mã tôi nhận được một lỗi.Timedelta không được xác định
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
Lỗi là như sau:
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
Bất kỳ trợ giúp sẽ được đánh giá cao.
Hoàn hảo, cảm ơn bạn vì đã giúp đỡ. Tôi nghĩ rằng việc sử dụng dễ dàng hơn nhiều: 'datetime.timedelta' và tôi đã thay đổi loại thành int. Cám ơn bạn một lần nữa. – Mitchell
Có, một khi bạn đã nhập datetime tham chiếu đến lớp timedelta bởi 'datetime.timedelta' sẽ là thực hành tốt nhất thông thường. Vấn đề là nhập mô-đun datetime sẽ cho bạn tất cả các tên mà nó định nghĩa, nhưng bạn phải tham khảo chúng thông qua không gian tên của nó. Bạn sẽ thấy mô hình chung của việc nhập một mô-đun và sau đó tham chiếu nội dung của nó một cách thường xuyên. –