Python 从简历中提取pincode时出现类型错误

Python 从简历中提取pincode时出现类型错误,python,python-3.x,regex,re,Python,Python 3.x,Regex,Re,我必须从简历中提取数据。当我试图从resume中提取pincode时,出现了以下错误,我无法纠正它 我正在传递一个file对象并读取open,然后将其保存到名为_datas_的变量中。我正在使用python 3.6 下面是我使用的代码: import re def pincode_fetch(pincode): pincode = re.search(r"^[1-9]\d{5}$", pincode) return pincode print(pinco

我必须从简历中提取数据。当我试图从resume中提取pincode时,出现了以下错误,我无法纠正它

我正在传递一个file对象并读取open,然后将其保存到名为_datas_的变量中。我正在使用python 3.6

下面是我使用的代码:

import re 

def pincode_fetch(pincode):
    pincode = re.search(r"^[1-9]\d{5}$", pincode)
    return pincode

print(pincode_fetch(datas))
预期输出如下:686533。 但我犯了这样一个错误:

--> 182     return _compile(pattern, flags).search(string)
    183 
    184 def sub(pattern, repl, string, count=0, flags=0):

TypeError: expected string or bytes-like object

您可以使用“查找全部”,它可以正常工作

import re 
def pincode_fetch(pincode):
   pincode = re.findall(r"^[1-9]\d{5}$",pincode)
   return Pincode


 print (pincode_fetch('221507'))


Ans -[221507]

您传递的pincode是什么?'datas'是我作为.txt文件@PeterWood'pincode'传递的简历是在pincode_fetch@Jerilre.search中传递的参数。如果不接受文件对象,您应该传递一个字符串对象,正如错误所提示的那样。您是否可以共享导致此问题的pincode示例?如果有效。但是当使用pincode_时,trivandrum 686533的输出为无。欢迎使用,Jinu!!这只适用于5位数字,只需在re.compiler'\d\d\d\d\d'中再添加一个\d即可,但在resume中使用它时,会使用@Yash shuklapincodesearch=re.compiler'\d\d\d\d\d\d'中给出的联系人号码的前5个数字,只需再添加一个\d,由于错误,我只添加了5\d。对不起,我尝试了,但没有编写简历,因为它需要联系人号码@Yash Shukla的前6个号码。这是pin码而不是联系人号码。如果你想要联系人号码,你必须为联系人号码分别添加10\d。
 import re 
 pincodesearch = re.compile(r'(\d\d\d\d\d)') 
 mo = pincodesearch.search('Carnival technopark trivandrum 686533') 
 print(mo.groups())[0]