python的2.5與2.7版本中ftp模組的一個小區別
今天原本計劃更換下python的版本,從2.5升級到2.7, 結果發現很多模組貌似不通,
目前找出其中一個關於ftp模組的區別,檢視了python中ftplib模組中的實現,版本間更新導致的
程式碼中關於ftp的實現:
ftp = FTP()
ftp.connect(ftpip,'')
ftp.login(ftpusername,ftppwd)
ftp.cwd(ftpfolder)
在python2.5中測試通過,然而在2.7版本中執行報錯 error: [Errno 10049] The requested address is not valid in its context
通過對比python中ftplib.py中connect() 程式碼發現
python 2.5中
if host: self.host = host
if port: self.port = port
當傳參為 '' 時, self.port將採用預設值
python 2.7中
if host != '':
self.host = host
if port > 0:
self.port = port
當傳參為 '' 時, 判斷port值大於0,self.port將被賦為''
這就導致之後sock.connect連線失敗
目前python2.7以上版本的多數應用中,採用 ftp.connect(ftpip)
PS:兩個版本間的ftp模組中connect的改動比較大,並增加超時設定,可以多看看
相關文章
- Python中爬蟲框架或模組的區別Python爬蟲框架
- Python中爬蟲框架或模組的區別!Python爬蟲框架
- Python中 ‘==‘ 與‘is‘的區別Python
- Python類、模組、包的概念及區別Python
- Nginx的HTTP模組與Stream模組:區別與應用場景NginxHTTP
- python的模組和類有什麼區別Python
- FTP和TFTP的區別與介紹FTP
- BOSHIDA DC電源模組與其他電源模組的區別與優勢
- ES6 模組化與 CommonJS 模組化區別JS
- Python之列表與元組的區別詳解Python
- python:windows和linux下multiprocessing模組建立程序的區別PythonWindowsLinux
- sql server中的一個坑-len與datalength區別SQLServer
- Python中的abc模組Python
- python中的chardet模組Python
- Python中模組的使用Python
- python將函式寫入模組中的小技巧Python函式
- 學Python用哪個版本?Python2與Python3有何區別?Python
- python 中 is, is not ,==, != 的區別Python
- Python中eval與exec的使用及區別Python
- python中#!/usr/bin/python與#!/usr/bin/env python的區別Python
- python中的列表和元組有什麼區別Python
- 新手學python哪個版本好?Python2與Python3有何區別?Python
- Python中operator 模組的用法Python
- Python中pathlib 模組的用法Python
- Python中itertools 模組的用法Python
- Python中paramiko 模組的用法Python
- python中重要的模組--asyncioPython
- Python 中argparse模組的使用Python
- Python語言中的模組、包、庫之間有什麼區別?Python
- 詳解Python中sys模組的功能與應用Python
- Python 中 is 和 == 的區別Python
- Python中is和==的區別Python
- 淺談SFTP和FTP的區別FTP
- 聊聊Spring Boot幾個版本的區別Spring Boot
- python - 建立一個自定義模組Python
- 每週一個 Python 模組 | copyPython
- 每週一個 Python 模組 | functoolsPython
- 每週一個 Python 模組 | jsonPythonJSON
- 每週一個 Python 模組 | stringPython