cxb311
2018-05-13 15:29
采纳率: 100%
浏览 707

Python3 多线程编程出现编译问题

import _thread
from time import sleep
from datetime import datetime

date_time_format='%y-%M-%d %H:%M:%S'

def date_time_str(date_time):
return datetime.strftime(date_time,date_time_format)

def loop_one():
print('+++线程一开始于:',date_time_str(datetime.now()))
print('+++线程一休眠4秒')
sleep(4)
print('+++线程一休眠结束,结束于:'.date_time_str(datetime.now()))

def loop_two():
print('***线程二开始于:',date_time_str(datetime.now()))
print('***线程二休眠2秒')
sleep(2)
print('***线程二休眠结束,结束于:'.date_time_str(datetime.now()))

def main():
print('-----所有线程开始时间:',date_time_str(datetime.now()))
_thread.start_new_thread(loop_one,())
_thread.start_new_thread(loop_two,())
sleep(6)
print('-----所有线程结束时间:',date_time_str(datetime.now()))

if name=='__main__': #__name__是所有模块的内建属性
main()

编译时出现下列问题,求解答

Unhandled exception in thread started by
line 21, in loop_two
print('***线程二休眠结束,结束于:'.date_time_str(datetime.now()))

AttributeError: 'str' object has no attribute 'date_time_str'
line 15, in loop_one
print('+++线程一休眠结束,结束于:'.date_time_str(datetime.now()))
AttributeError: 'str' object has no attribute 'date_time_str'

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • phase11 2018-05-14 01:21
    已采纳

    print('***线程二休眠结束,结束于:'.date_time_str(datetime.now()))

    函数前面的点改成逗号,手误吧亲- -

    点赞 打赏 评论
  • devmiao 2018-05-13 15:29
    点赞 打赏 评论
  • a876371262 2018-05-14 01:26

    点是方法调用,'***线程二休眠结束,结束于:'.date_time_str(datetime.now()) 相当于'***线程二休眠结束,结束于:'调用了date_time_str(datetime.now()) 方法,字符串连接使用+号

    点赞 打赏 评论

相关推荐 更多相似问题