Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 为什么pyperclip不将电话号码的结果复制到剪贴板_Python 3.x - Fatal编程技术网

Python 3.x 为什么pyperclip不将电话号码的结果复制到剪贴板

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

我是一个初学者,通过Al Sweigart的自动化枯燥的东西来学习python

我现在正在做的是,他创建了一个程序,使用正则表达式从文档中提取电子邮件和电话号码,并将它们粘贴到另一个文档中

以下是脚本:

#! 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)