abberati: ну вам избыточно вы и пуште при уходе с работы и из дома, а я просто встаю из за компа и перемещаюсь за другой, а пушу по делу, а не из за такой чисто технической вещи как смена рабочего места.
abberati: Ну хотите коммитить/пушить плохой код - коммитте/пуште на здоровье.
Только вот вы в упор не понимаете, что GIT версионность кода призван контролировать, а не организацию хранения локального репозитория.
Просто с репой в облаке у вас на нескольких компах одинаковая локальная репа, комиттить может хоть каждую строчку, а вот PUSH-ить заведомо нерабочий код в центральный репозиторий - во многих командах считается моветоном.
DevMan: +100500
Мне не понятен подход "git придумали специально для того, чтобы не использовать облачное хранилище."
Это примерно так же как говорить, что если у вас есть интернет, то вам не нужно пить и есть.
git и облака - это совершенно перпендикулярные вещи.
Коммитить незавершенное только потому, что надо переместиться от одного компа к другому - совершенно неверный подход. Зачем коммитить не завершенную работу, т.е. порой просто не работающий код.
По поводу перебоев со связью - они могут быть, но если вы привыкли к всегда доступному интернету, то не грех иметь дома резервный 4G модем на случай если бигпровайдер.ру вдруг отчибучит опять (когда был кляйн.провайдер.ру - годами перебоев не было, но модем в тумбочке все равно лежал). А на работе и так каналы резервированы.
Зы да, когда-то очень давно с работы домой путешествовали мои личные проектики и документы на флешке/переносном hdd. Сейчас это смешно вспоминать.
Алексей Шумкин: вы о чем?
У меня именно так синхронизируется несколько гитовых реп между рабочим и домашним компом (через тындекс диск). Очень удобно и никаких проблем ни разу не испытывал.
Пару комментариев к коду:
1. файлы полезно закрывать, а лучше (по возможности) использовать конструкцию with open(...) as file:
2. всю конструкцию
str = ""
for email in array:
str += email
str += '\n'
file_3 = open('3.txt', 'w')
file_3.write(str)
можно записать в две строки:
with open('3.txt', 'w') as file_3:
file_3.write('\n'.join(array))
3. можн и первую часть покороче записать:
with open('1.txt', 'r') as file_1, open('2.txt', 'r') as file_2:
mail_list = file_2.read().split()
array = [email for email in file_1 if email.split(':')[0] not in mail_list]
4. если обе части коротко записать то будет совcем коротко - 3 строки, но (вынужден согласиться) уже гораздо сложнее для понимания:
with open('1.txt', 'r') as file_1, open('2.txt', 'r') as file_2, open('3.txt', 'w') as file_3:
mail_list = file_2.read().split()
file_3.write('\n'.join([email for email in file_1 if email.split(':')[0] not in mail_list])
Алексей Ярков: Ну если не знали то теперь то знаете - уже хорошо.
Файл со списком прокси конечно вряд ли будет достаточно большим для серьезных проблем с вашим кодом, но ваш код могут взять как шаблон и для других решений, и вот там огрести проблемы.
Собственно считать все из файла, а потом его обрабатывать - это очень распространенный шаблон индусского кода, если вы считаете важным и далее распространять заведомо кривые шаблоны кода, когда есть более правильные решения - то безусловно это ваше право.
Но так же и у меня есть право сделать замечание... может хоть замечание заставит новичка подумать головой вместо копипаста индусского-кода.
Алексей Ярков:
for proxy_line in proxyFile.read().splitlines():
эквивалентно
for proxy_line in proxyFile:
Только в отличии от первого варианта такая конструкция считывает файл построчно, а не все целиком за раз. Читать файл целиком чревато тем что файл может оказаться слишком большим и это может привести к крашу программы.
Ваш вариант вообще проще через set решить
from random import randint
def t (list_len=10):
list_ = set()
while len(list_) < list_len
list_.add(randint(0, list_len * 10))
return list(list_)
ps отступы думаю - понятно где.