Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 27, 2016 07:35:09

Zeclone
От: .uz
Зарегистрирован: 2015-02-27
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Вкард_снова_или_строка

Доброе утро!

Все я уже понял как делать:

 with open('файл1.txt', 'r') as n:
      name = str(n.read())
with open('файл2.txt', 'r') as num:
      number = str(num.read())
file3 = open('файл3.txt', 'w')
file3text = str('BEGIN:VCARD\nVERSION:2.1\nN:' + name + ';;\nFN:'+ name + '\nTEL;CELL:' + number + '\nEND:VCARD') # Текст
file3.write(file3text)
file3.close()

Но в файл1.тхт 400 строк имен
вася
иван
костя
…..

и в файл.тхт 400 строк номеров
+16953222566
+16689565233
+13256998954
…..

вы поняли что я хочу сделать?

Хочу сделать VCard файл для андроид.


Спасибо за ранее



:D Zeclone не русский поэтому просит прошения за ошыбки :D

Офлайн

#2 Дек. 27, 2016 09:30:59

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вкард_снова_или_строка

Вы тут не первый день и до сих пор не осилили циклы ? Печально.
Вот набрасал код примерный

 items = []
with open('файл1.txt', 'r') as n, with open('файл2.txt', 'r') as num:
    for name, number in zip(n, num):
        items.append('BEGIN:VCARD\nVERSION:2.1\nN:{0};;\nFN:{0}\nTEL;CELL:{1}\nEND:VCARD'.format(name, number))
with open('файл3.txt', 'w') as f:
    # здесь используется генератор
    f.writelines( ('{}\n'.format(x) for x in items) )



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Дек. 28, 2016 04:21:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10002
Репутация: +  857  -
Профиль   Отправить e-mail  

Вкард_снова_или_строка

JOHN_16
 with open('файл1.txt', 'r') as n, with open('файл2.txt', 'r') as num:
Синтаксис неправильный, with только один должен быть, в нём одном открываются два файла.



Офлайн

#4 Дек. 28, 2016 07:17:41

Zeclone
От: .uz
Зарегистрирован: 2015-02-27
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Вкард_снова_или_строка

py.user.next
Доброе утро!

Если сказать честно, не могу сделать.



:D Zeclone не русский поэтому просит прошения за ошыбки :D

Офлайн

#5 Дек. 28, 2016 08:13:43

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10002
Репутация: +  857  -
Профиль   Отправить e-mail  

Вкард_снова_или_строка

Вот готовый пример.



Прикреплённый файлы:
attachment vcard.tar (10,0 KБ)

Офлайн

#6 Дек. 28, 2016 16:52:24

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вкард_снова_или_строка

py.user.next
да, опечатался. Я не проверял этот код.
Zeclone
правильно будет так:

  with open('файл1.txt', 'r') as n, open('файл2.txt', 'r') as num:



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#7 Янв. 13, 2017 05:21:20

Zeclone
От: .uz
Зарегистрирован: 2015-02-27
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Вкард_снова_или_строка

py.user.next
Вот готовый пример.
Доброе утро

наконецто сделал.
но изменил исходящий файл из *.тхт* на *.vcf*.

Спасибо Вам всем!





:D Zeclone не русский поэтому просит прошения за ошыбки :D

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version