![](/img/trans.png)
[英]AttributeError: 'NoneType' object has no attribute ‘group’ {for instagram}
[英]AttributeError: 'NoneType' object has no attribute 'group'
我必須吸收一些數據。 腳本已經存在,但需要針對新數據進行調整。
所以有一行:
head = fn.replace(re.search(r'\d{8}_\d{4}', fn).group(),'')
我在哪里得到錯誤: AttributeError: 'NoneType' object has no attribute 'group'
要解決此問題,我需要了解此行實際發生的情況。
而且我不了解“替換”之后要做什么。 有人可以解釋一下這是怎么回事嗎? r'\\d{8}_\\d{4}'
是什么意思?
re.search正在查找您的正則表達式模式的匹配項,並返回一個正則表達式匹配對象。 如果沒有匹配項,則返回None。 因此,您無法在None上調用.group()
。
In [38]: re.search(r'921', mystr)
Out[38]: <_sre.SRE_Match object; span=(23, 26), match='921'>
In [39]: mystr
Out[39]: "b'la lala 135\\r\\n 1039 921\\r\\n'"
In [40]: re.search(r'921', mystr)
Out[40]: <_sre.SRE_Match object; span=(23, 26), match='921'>
In [41]: re.search(r'potatoes', mystr)
SRE_Match
對象具有group()
方法,該方法獲取匹配的字符串值。
In [42]: re.search(r'921', mystr).group()
Out[42]: '921'
因此,如果您仍然不清楚它在做什么,它會找到與re.search()
提供的正則表達式模式匹配的字符串fn
,並通過將其替換為''
將其從字符串fn
刪除。 在這種情況下,它將找到fn
中具有8位數字( \\d{8}
)和下划線然后再有4位數字( \\d{4}
)的匹配項。 所以看起來像12345678_1234
字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.