Python 3.x 为什么pyperclip不将电话号码的结果复制到剪贴板
我是一个初学者,通过Al Sweigart的自动化枯燥的东西来学习python 我现在正在做的是,他创建了一个程序,使用正则表达式从文档中提取电子邮件和电话号码,并将它们粘贴到另一个文档中 以下是脚本:Python 3.x 为什么pyperclip不将电话号码的结果复制到剪贴板,python-3.x,Python 3.x,我是一个初学者,通过Al Sweigart的自动化枯燥的东西来学习python 我现在正在做的是,他创建了一个程序,使用正则表达式从文档中提取电子邮件和电话号码,并将它们粘贴到另一个文档中 以下是脚本: #! python3 import re import pyperclip # Create a regex for phone numbers phoneRegex = re.compile(r''' # 08108989212 (\d{11}) # Full phone nu
#! python3
import re
import pyperclip
# Create a regex for phone numbers
phoneRegex = re.compile(r'''
# 08108989212
(\d{11}) # Full phone number
''', re.VERBOSE)
#Create a regex for email a`enter code here`ddressess
emailRegex = re.compile(r'''
# some.+_thing@(\d{2,5}))?.com
[a-zA-Z0-9_.+] + # name part
@ # @symbol
[a-zA-Z0-9_.+] + # domain name part
''', re.VERBOSE)
#Get the text off the clipboard
text = pyperclip.paste()
# TODO: Extract the email/phone from this text
extractedPhone = phoneRegex.findall(text)
extractedEmail = emailRegex.findall(text)
allPhoneNumbers = []
for allPhoneNumber in extractedPhone:
allPhoneNumbers.append(allPhoneNumber[0])
print(extractedPhone)
print(extractedEmail)
# Copy the extracted email/phone to the clipboard
results = '\n'.join(allPhoneNumbers) + '\n' + '\n'.join(extractedEmail)
pyperclip.copy(results)
该脚本将提取、打印电话号码和电子邮件地址,并发送到它所使用的终端。它还可以自动将提取的电话号码和电子邮件地址复制到剪贴板,以便粘贴到其他文本编辑器或word文档中
现在的问题是,它只复制电子邮件地址,但粘贴时将电话号码转换为0
我有什么不对劲
请原谅我英语中的错误。图书馆:电话号码(,)
Python版本的Google公共库,用于解析、格式化、,
存储和验证国际电话号码
我想你需要用这个来格式化那些电话号码
更具体地说,您需要使用以下方式安装软件包:
pip install phonenumbers
库处理的主要对象是PhoneNumber对象。您可以使用parse函数从表示电话号码的字符串中创建此项,但您还需要指定拨打电话号码的国家(除非电话号码为E.164格式,这是全局唯一的)
导入电话号码
x=电话号码。解析(“+442083661177”,无)
打印(x)
国家代码:44国家编号:2083661177前导零:假
类型(x)
y=电话号码。解析(“020 8366 1177”,“GB”)
打印(y)
国家代码:44国家编号:2083661177前导零:假
x==y
真的
z=电话号码。将(“00 1 650 253 2222”,“GB”)解析为从GB拨出的号码,而不是GB号码
打印(z)
国家代码:1国家编号:650253222前导零:假
更多信息可以在这里找到:问题是您不需要这部分代码
allPhoneNumbers = []
for allPhoneNumber in extractedPhone:
allPhoneNumbers.append(allPhoneNumber[0])
它所做的只是从所有提取的电话号码中创建第一个字符的列表(显然总是0
)。
然后将结果更改如下:
results = '\n'.join(extractedPhone) + '\n' + '\n'.join(extractedEmail)
我真的不明白,但我能得到一个链接吗?
results = '\n'.join(extractedPhone) + '\n' + '\n'.join(extractedEmail)