30/09/2018, 16:44

Lỗi Attributeerror: 'nonetype' object has no attribute 'group'?

mình có một đoạn mã sau của python

#execute 
if len(sys.argv) < 2:
	usage()
	sys.exit()
else:
	if sys.argv[1]=="help":
		usage()
		sys.exit()
	else:
		print ("-- HULK Attack Started --")
		if len(sys.argv)== 3:
			if sys.argv[2]=="safe":
				set_safe()
		url = sys.argv[1]
		if url.count("/")==2:
			url = url + "/"
		m = re.search('http://([^/]*)/?.*', 'abcurl')
		host = m.group(1)
		for i in range(500):
			t = HTTPThread()
			t.start()
		t = MonitorThread()
		t.start()

khi chạy thì mắc lỗi sau

traceback (most recent call last):
host = m.group(1)
Attributeerror: 'nonetype' object has no attribute 'group'

ai giúp với

Gió viết 18:54 ngày 30/09/2018

Hàm re.match sẽ trả về 2 TH:

  • đoạn regex dc tìm thấy: trả về MatchObject
  • không tìm thấy: trả về None

Trong TH này bạn chưa kiểm tra regex có match không( is not None)mà đã sử dụng MatchObject nên bị lỗi.

Nguyễn Minh Dũng viết 18:53 ngày 30/09/2018
m = re.search('http\://([^/]*)/?.*', 'abcurl')

Dòng này không match được kết quả nào nên mnone. Đổi lại thành

import re
m = re.search('http\://([^/]*)/?.*', 'http://daynhauhoc.com')
m.group(1)
Vinh Phan Nhật viết 18:52 ngày 30/09/2018

cái m.group(1)
vẫn lỗi
ttributeerror: ‘nonetype’ object has no attribute ‘group’

Vinh Phan Nhật viết 18:44 ngày 30/09/2018

mình chỉ mới học bạn fix lại và nêu rõ hơn đi

Gió viết 18:49 ngày 30/09/2018
if m is not None:
    host=m.group(1)
Vinh Phan Nhật viết 19:00 ngày 30/09/2018

còn cách khác không bạn

Bài liên quan
0