Python error

Тема в разделе "WASM.HEAP", создана пользователем md5, 17 июл 2009.

  1. md5

    md5 New Member

    Публикаций:
    0
    Регистрация:
    26 июн 2009
    Сообщения:
    8
    dobrii den,

    mozet kto nibud padskazet kak pacinit eto :dntknw:

    Код (Text):
    1. >>> ================================ RESTART ================================
    2. >>>
    3. *cmd* 'TYPE A'
    4. *resp* '200 Type set to A.'
    5. *cmd* 'PORT x,x,x,x,19,137'
    6. *resp* '200 Port command successful.'
    7. *cmd* 'LIST'
    8. *resp* '150 Opening data connection for directory list.'
    9. drwxr-xr-x   1 ftp      ftp             0 Jul 16 17:30 incoming
    10. drwxr-xr-x   1 ftp      ftp             0 Jun 29 21:41 photos
    11. drwxr-xr-x   1 ftp      ftp             0 Jun 25 15:31 public
    12. -rw-r--r--   1 ftp      ftp          6148 Jul 04 20:21 .DS_Store
    13. *resp* '226 Transfer ok'
    14. *cmd* 'CWD /incoming'
    15. *resp* '250 CWD command successful. "/incoming" is current directory.'
    16. *cmd* 'TYPE A'
    17. *resp* '200 Type set to A.'
    18. *cmd* 'PORT x,x,x,x,19,139'
    19. *resp* '200 Port command successful.'
    20. *cmd* 'LIST'
    21. *resp* '150 Opening data connection for directory list.'
    22. drwxr-xr-x   1 ftp      ftp             0 Jun 26 15:37 AVSvideoconverter
    23. drwxr-xr-x   1 ftp      ftp             0 Jun 26 16:15 CompTIA Security(plus) Deluxe Study Guide
    24. drwxr-xr-x   1 ftp      ftp             0 Jun 26 16:02 QuickBooks 2009 All-in-One For Dummies
    25. -rw-r--r--   1 ftp      ftp      51577510 Jun 26 16:34 Solacev3.1-NoManila.zip
    26. -rw-r--r--   1 ftp      ftp             0 Jul 16 17:30 test.txt
    27. *resp* '226 Transfer ok'
    28. *cmd* 'TYPE I'
    29. *resp* '200 Type set to I.'
    30. *cmd* 'PORT x,x,x,x,19,141'
    31. *resp* '200 Port command successful.'
    32. *cmd* 'RETR Solacev3.1-NoManila.zip'
    33. *resp* '150 Opening data connection for Solacev3.1-NoManila.zip (51577510 bytes).'
    34.  
    35. Traceback (most recent call last):
    36.   File "C:/Documents and Settings/owner/Desktop/ftpupload.py", line 9, in <module>
    37.     ftp.retrbinary('RETR Solacev3.1-NoManila.zip','Solacev3.1-NoManila.zip',100)
    38.   File "C:\Python26\lib\ftplib.py", line 399, in retrbinary
    39.     callback(data)
    40. TypeError: 'str' object is not callable
    41. >>>
     
  2. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    Исходный текст сюда давай
     
  3. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    Код (Text):
    1.    
    2. def retrbinary(self, cmd, callback, blocksize=8192, rest=None):
    3.         """Retrieve data in binary mode.  A new port is created for you.
    4.  
    5.         Args:
    6.           cmd: A RETR command.
    7.           callback: A single parameter callable to be called on each
    8.                     block of data read.
    9.           blocksize: The maximum number of bytes to read from the
    10.                      socket at one time.  [default: 8192]
    11.           rest: Passed to transfercmd().  [default: None]
    12.  
    13.         Returns:
    14.           The response code.
    15.         """
    16.         self.voidcmd('TYPE I')
    17.         conn = self.transfercmd(cmd, rest)
    18.         while 1:
    19.             data = conn.recv(blocksize)
    20.             if not data:
    21.                 break
    22.             callback(data)
    23.         conn.close()
    24.         return self.voidresp()
    если я правильно понял, третьим параметром должен быть callable, который пишет принятые данные по назначению. ТС, ты сильно легкой жизни захотел. +)
     
  4. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    Блин, я не догадался в гугл зайти за сорцами.

    100 там no in vagina, no in redo legiono
     
  5. md5

    md5 New Member

    Публикаций:
    0
    Регистрация:
    26 июн 2009
    Сообщения:
    8
    silno nebeite pa usam, tolko vcera nacil doki citat.

    kod:

    Код (Text):
    1. #!/bin/env python
    2. from ftplib import FTP                                        
    3. ftp = FTP('xxxx','xxxx','xxxx')
    4. ftp.set_pasv(0)
    5. ftp.set_debuglevel(1)
    6. ftp.retrlines('LIST')
    7. ftp.sendcmd('CWD incoming')
    8. ftp.retrlines('LIST')
    9. ftp.sendcmd('CWD AVSvideoconverter')
    10. ftp.retrlines('LIST')
    11. ftp.retrbinary('RETR installation.txt','installation.txt')
    12. ftp.quit()
    paluciaju:

    Код (Text):
    1. >>> ================================ RESTART ================================
    2. >>>
    3. *cmd* 'TYPE A'
    4. *resp* '200 Type set to A.'
    5. *cmd* 'PORT 10,1,25,173,22,177'
    6. *resp* '200 Port command successful.'
    7. *cmd* 'LIST'
    8. *resp* '150 Opening data connection for directory list.'
    9. drwxr-xr-x   1 ftp      ftp             0 Jul 17 12:09 incoming
    10. drwxr-xr-x   1 ftp      ftp             0 Jun 29 21:41 photos
    11. drwxr-xr-x   1 ftp      ftp             0 Jun 25 15:31 public
    12. -rw-r--r--   1 ftp      ftp          6148 Jul 04 20:21 .DS_Store
    13. *resp* '226 Transfer ok'
    14. *cmd* 'CWD incoming'
    15. *resp* '250 CWD command successful. "/incoming" is current directory.'
    16. *cmd* 'TYPE A'
    17. *resp* '200 Type set to A.'
    18. *cmd* 'PORT 10,1,25,173,22,179'
    19. *resp* '200 Port command successful.'
    20. *cmd* 'LIST'
    21. *resp* '150 Opening data connection for directory list.'
    22. drwxr-xr-x   1 ftp      ftp             0 Jun 26 15:37 AVSvideoconverter
    23. drwxr-xr-x   1 ftp      ftp             0 Jun 26 16:15 CompTIA Security(plus) Deluxe Study Guide
    24. drwxr-xr-x   1 ftp      ftp             0 Jul 17 11:10 Foto is Raimio gimtadienio
    25. *resp* '226 Transfer ok'
    26. *cmd* 'CWD AVSvideoconverter'
    27. *resp* '250 CWD command successful. "/incoming/AVSvideoconverter" is current directory.'
    28. *cmd* 'TYPE A'
    29. *resp* '200 Type set to A.'
    30. *cmd* 'PORT 10,1,25,173,22,181'
    31. *resp* '200 Port command successful.'
    32. *cmd* 'LIST'
    33. *resp* '150 Opening data connection for directory list.'
    34. drwxr-xr-x   1 ftp      ftp             0 Jun 26 15:43 CRACK
    35. -rwxr-xr-x   1 ftp      ftp      52673608 Jun 26 15:37 AVSVideoConverter.exe
    36. -rw-r--r--   1 ftp      ftp          1086 Jun 26 15:37 installation.txt
    37. -rw-r--r--   1 ftp      ftp          3175 Jun 26 15:37 program info.txt
    38. -rw-r--r--   1 ftp      ftp            47 Jun 26 15:37 Torrent downloaded from Demonoid.com.txt
    39. *resp* '226 Transfer ok'
    40. *cmd* 'TYPE I'
    41. *resp* '200 Type set to I.'
    42. *cmd* 'PORT 10,1,25,173,22,183'
    43. *resp* '200 Port command successful.'
    44. *cmd* 'RETR installation.txt'
    45. *resp* '150 Opening data connection for installation.txt (1086 bytes).'
    46.  
    47. Traceback (most recent call last):
    48.   File "C:/Documents and Settings/owner/Desktop/ftpupload.py", line 11, in <module>
    49.     ftp.retrbinary('RETR installation.txt','installation.txt')
    50.   File "C:\Python26\lib\ftplib.py", line 399, in retrbinary
    51.     callback(data)
    52. TypeError: 'str' object is not callable
    53. >>>
    sto takoje eto callback? citaju citaju i nedahodit :dntknw: eto fail katorii zapisavat localy?
     
  6. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    http://en.wikipedia.org/wiki/Callback_(computer_science)
     
  7. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    md5
    читай дальше. там все должно быть сказано. А вообще - должно быть примерно так:

    Код (Text):
    1. #!/bin/env python
    2. from ftplib import FTP        
    3.                                  
    4. ftp = FTP('xxxx','xxxx','xxxx')
    5. ftp.set_pasv(0)
    6. ftp.set_debuglevel(1)
    7. ftp.retrlines('LIST')
    8. ftp.sendcmd('CWD incoming')
    9. ftp.retrlines('LIST')
    10. ftp.sendcmd('CWD AVSvideoconverter')
    11. ftp.retrlines('LIST')
    12.  
    13. [b]with open('installation.txt', "wb") as outfile:
    14.     ftp.retrbinary('RETR installation.txt', outfile.write)
    15. [/b]
    16.  
    17. ftp.quit()
     
  8. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    блин. в code вложенный ббкод не работает. но, в общем, все понятно.