我在一个文件夹中存储了非常大的文件。这些文件通常每行包含电子邮件和 URL。
例如
[email protected]
example.com
ssdfghhg
www.example1.com
http://www.example2.com
https://example3.com
[email protected]
我想知道如何将电子邮件分离到一个文件中,将 URL 分离到另一个文件中。请告诉我 Ubuntu 版 Python 如何帮助我做到这一点?
output:
email.txt
[email protected]
[email protected]
URL.txt
example.com
www.example1.com
http://www.example2.com
https://example3.com
我期望输出文件为 UTF-8。只是期望 URL 在语法上应该是 URL。无需验证 URL 是否存在。
答案1
import sys
import glob # to get all files in a directory
f1 = open('email.txt', 'w') # Open in write mode
f2 = open('url.txt', 'w') # Open in write mode
for i in glob.glob(sys.argv[1] + '/*'):
with open(i) as f:
for line in f:
if '@' in line: # email
print(line.strip(), file=f1)
elif '.' in line: # url
print(line.strip(), file=f2)
f1.close()
f2.close()
只要您的非 URL 文本不包含.
在内,此方法便可行。
另存为file.py
并运行
python3 file.py dirname