У меня есть очень большие файлы, хранившие в папке. Файлы обычно содержат электронные письма и URL на каждой строке.
Скажите, например,
gg@example.com
example.com
ssdfghhg
www.example1.com
http://www.example2.com
https://example3.com
better@example123.com
Я бледный, чтобы знать, как я могу разделить электронные письма в одном файле и URL в отдельном файле. Любезно сообщите мне, как версия Ubuntu Python может помочь мне делающий это?
output:
email.txt
gg@example.com
better@example123.com
URL.txt
example.com
www.example1.com
http://www.example2.com
https://example3.com
Я ожидаю, что выходной файл будет UTF-8. просто ожиданием URL должен быть синтаксически URL. Никакая потребность проверить, является ли URL существующим или нет.
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