[Python] вопрос/ответ.

Discussion in 'Python' started by De-visible, 21 Jan 2009.

  1. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    cr0w прав, так будет проще, а с твоим подходом, то это будет еще и производительнее.
    Code:
    #!usr/bin/env python
    #-*-encoding:utf8-*-
    stroka = "Проверочное значение"
    with open("file.txt") as inpt:
        with open("out.txt","w") as out:#Тут аккуратнее, файл будет перезаписываться каждый раз, если сделать open("out.txt", "a") то будет дозапись в конец файла
            for line in inpt:
                line = line.replace("\r", "").replace("\n", "")# Очистка от символов конца строки (по желанию)
                if line == stroka:
                    pass
                else:
                    out.write(line+"\n")#Пишем в файл строку с символом конца строки чтоб писалось нормально, а не в одну строчку
    
    P.S>Код должен быть кросспитонен :)D) -т.е работать и под 3.1 и под 2.6, может вообще не работать так как не проверял ибо лень ), под 2.6
    Code:
    line = line.replace("\r", "").replace("\n", "")
    
    Можно заменить на
    Code:
    line = line.translate(None, "\r\n")
    
     
    #281 login999, 20 Aug 2009
    Last edited: 20 Aug 2009
    3 people like this.
  2. InFlame

    InFlame Banned

    Joined:
    27 Oct 2008
    Messages:
    207
    Likes Received:
    32
    Reputations:
    0
    Так норм будет?
    Code:
    #!/usr/bin/env python
    import os
    f, o = open('file.txt', 'r'), open('out.txt', 'a')
    for line in f.readlines():
        if 'some string' not in line:
            o.write(line)
    f.close()
    o.close()
    os.popen('rm file.txt')
    os.popen('mv out.txt file.txt')
    
     
    1 person likes this.
  3. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Неа )
    У тебя трабла в том что ты делаешь .readlines() - а это грузит файл в оперативку )
    for line in f.readlines(): замени на for line in f:
     
    2 people like this.
  4. Lord NightKon

    Lord NightKon Member

    Joined:
    26 Mar 2008
    Messages:
    26
    Likes Received:
    7
    Reputations:
    0
    Приветы всем..
    Тут у меня возник некий ступор при попытке написания многопоточных программ...
    Конкретного вопроса у меня нет.. хотелось бы получить небольшой ман или линк на ман о потоках..

    интерпритатор: Python 2.5.2
    OS: Linux
     
  5. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    _http://python.org/doc/
     
  6. Lord NightKon

    Lord NightKon Member

    Joined:
    26 Mar 2008
    Messages:
    26
    Likes Received:
    7
    Reputations:
    0
    я уточню:
    меня интересует конкретный ман с конкретными примера, а не просто сгусток информации о модулях
    и с инглишем тоже туговато, так что было бы неплохо ман на русском
     
  7. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Почти в любой книге по питону посвящен нитям целый раздел
    Вот тут статья _http://keysolutions.ru/articles/osnovy-raboty-s-potokami-v-python
    Неужели так впадлу в гугле посмотреть, а не сразу на форум что бы другие искали?
     
  8. Lord NightKon

    Lord NightKon Member

    Joined:
    26 Mar 2008
    Messages:
    26
    Likes Received:
    7
    Reputations:
    0
    дорогой razb, я сам очень не люблю людей, которые ленятся сами что-то предпринять относительно их вопроса, но сейчас сложилось так, что по запросу вида "потоки+python" первые страниц пять -копипаст одной и той же статьи без внятных примеров.. по-этому просто не делайте поспешных выводов о других - вы можете оказаться не правы
     
  9. e4key

    e4key New Member

    Joined:
    24 Jul 2009
    Messages:
    24
    Likes Received:
    1
    Reputations:
    0
    Lord NightKon:

    http://www.network-theory.co.uk/docs/pytut/Multithreading.html
    http://www.devshed.com/c/a/Python/Basic-Threading-in-Python/
    http://www.tutorialspoint.com/python/python_multithreading.htm
    http://www.artfulcode.net/articles/multi-threading-python/

    Собственно все ссылки из гугла. Если не понимаешь, то лучше почитай про многопоточное программирование на других языках (принципы те же).
     
  10. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Да там все просто )
    Я юзаю модель на основе ThreadPool -Queue да и все в принципе, queue наполняется задачами, а потоки по очереди берут их оттуда в бесконечном цикле, до тех пор пока не вылезет exception QueueEmpty, примера не дам, если не лень поискать, то посмотри на python.su человека с ником lorien, он первый у кого я увидел эту модель, там где-то лежит ссыль от него на код на dumpz.org, где выложена эта цацка, в принципе там все понятно
     
  11. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    С переездом, друзья! :)
     
  12. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Опустил нас Jes.
    Хотя Rebz сказал что в случае чего перенесет.
    Бастуем ?
     
  13. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Этот раздел более популярен, нежели чем соседний :) - зачем бастовать?
    хотя можно...для разнообразия ) как будем бастовать?
     
  14. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    к тому же имхо более коректен как для скриптового яп
    думаю популярность только увеличиться )
    сидеть в оффлайне ))
     
  15. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Не, мало нас :(
    Хз, мб попробовать подергать цветных питонеров, которые тут пробегали ?
     
  16. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Я сразу говорил что этой теме место в этом разделе. Питон скриптовый язык, поэтому ему место тут.
     
  17. e4key

    e4key New Member

    Joined:
    24 Jul 2009
    Messages:
    24
    Likes Received:
    1
    Reputations:
    0
    Кстати вот по многопоточности пример http://www.ndcoders.ru/showthread.php?t=184
     
  18. cr0w

    cr0w Elder - Старейшина

    Joined:
    11 Sep 2008
    Messages:
    92
    Likes Received:
    141
    Reputations:
    33
    Кстати, не очень хороший пример. Модуль Queue так, как там предлагается, использовать вобщем-то бессмысленно и совершенно нерационально.
     
    #298 cr0w, 29 Aug 2009
    Last edited: 29 Aug 2009
  19. Admin Derek

    Admin Derek New Member

    Joined:
    20 Apr 2008
    Messages:
    9
    Likes Received:
    1
    Reputations:
    -5
    кто может помочь с авторизацией ВКонтакте через питон?
    пробывал так..только что то не выходит =(

    Code:
    import urllib
    import urllib2
    
    urllib2.install_opener(urllib2.build_opener(urllib2.HTTPCookieProcessor))
    def main() :
        params = urllib.urlencode({
                'op': "a_login_attempt",
                'email': "pupkin%mail.ru",
                'pass': "vas9",
                'expire': "0"
                })
        f = urllib2.urlopen(
            "http://vkontakte.ru/login.php",
            params)
        print f.read()
     
  20. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Напиши лучше