简体   繁体   中英

importing module in python giving two different output in interpreter and script file

I can't understand why the two methods of running python code would have different results when loading a module.

The script file I am executing is called ssl.py

import httplib
import sys

print sys.version_info
print dir(httplib)

This is the command window output I am receiving

C:\tests>python ssl.py
sys.version_info(major=2, minor=7, micro=9, releaselevel='final', serial=0)
['ACCEPTED', 'BAD_GATEWAY', 'BAD_REQUEST', 'CONFLICT', 'CONTINUE', 'CREATED', 'E
XPECTATION_FAILED', 'FAILED_DEPENDENCY', 'FORBIDDEN', 'FOUND', 'GATEWAY_TIMEOUT'
, 'GONE', 'HTTP', 'HTTPConnection', 'HTTPMessage', 'HTTPResponse', 'HTTPS_PORT',
 'HTTP_PORT', 'HTTP_VERSION_NOT_SUPPORTED', 'IM_USED', 'INSUFFICIENT_STORAGE', '
INTERNAL_SERVER_ERROR', 'LENGTH_REQUIRED', 'LOCKED', 'MAXAMOUNT', 'METHOD_NOT_AL
LOWED', 'MOVED_PERMANENTLY', 'MULTIPLE_CHOICES', 'MULTI_STATUS', 'NON_AUTHORITAT
IVE_INFORMATION', 'NOT_ACCEPTABLE', 'NOT_EXTENDED', 'NOT_FOUND', 'NOT_IMPLEMENTE
D', 'NOT_MODIFIED', 'NO_CONTENT', 'OK', 'PARTIAL_CONTENT', 'PAYMENT_REQUIRED', '
PRECONDITION_FAILED', 'PROCESSING', 'PROXY_AUTHENTICATION_REQUIRED', 'REQUESTED_
RANGE_NOT_SATISFIABLE', 'REQUEST_ENTITY_TOO_LARGE', 'REQUEST_TIMEOUT', 'REQUEST_
URI_TOO_LONG', 'RESET_CONTENT', 'SEE_OTHER', 'SERVICE_UNAVAILABLE', 'SWITCHING_P
ROTOCOLS', 'StringIO', 'TEMPORARY_REDIRECT', 'UNAUTHORIZED', 'UNPROCESSABLE_ENTI
TY', 'UNSUPPORTED_MEDIA_TYPE', 'UPGRADE_REQUIRED', 'USE_PROXY', '_CS_IDLE', '_CS
_REQ_SENT', '_CS_REQ_STARTED', '_MAXHEADERS', '_MAXLINE', '_UNKNOWN', '__all__',
 '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'array', 'mim
etools', 'os', 'py3kwarning', 'responses', 'socket', 'urlsplit', 'warnings']

C:\tests>python
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import httplib
>>> dir(httplib)
['ACCEPTED', 'BAD_GATEWAY', 'BAD_REQUEST', 'BadStatusLine', 'CONFLICT', 'CONTINU
E', 'CREATED', 'CannotSendHeader', 'CannotSendRequest', 'EXPECTATION_FAILED', 'F
AILED_DEPENDENCY', 'FORBIDDEN', 'FOUND', 'FakeSocket', 'GATEWAY_TIMEOUT', 'GONE'
, 'HTTP', 'HTTPConnection', 'HTTPException', 'HTTPMessage', 'HTTPResponse', 'HTT
PS', 'HTTPSConnection', 'HTTPS_PORT', 'HTTP_PORT', 'HTTP_VERSION_NOT_SUPPORTED',
 'IM_USED', 'INSUFFICIENT_STORAGE', 'INTERNAL_SERVER_ERROR', 'ImproperConnection
State', 'IncompleteRead', 'InvalidURL', 'LENGTH_REQUIRED', 'LOCKED', 'LineAndFil
eWrapper', 'LineTooLong', 'MAXAMOUNT', 'METHOD_NOT_ALLOWED', 'MOVED_PERMANENTLY'
, 'MULTIPLE_CHOICES', 'MULTI_STATUS', 'NON_AUTHORITATIVE_INFORMATION', 'NOT_ACCE
PTABLE', 'NOT_EXTENDED', 'NOT_FOUND', 'NOT_IMPLEMENTED', 'NOT_MODIFIED', 'NO_CON
TENT', 'NotConnected', 'OK', 'PARTIAL_CONTENT', 'PAYMENT_REQUIRED', 'PRECONDITIO
N_FAILED', 'PROCESSING', 'PROXY_AUTHENTICATION_REQUIRED', 'REQUESTED_RANGE_NOT_S
ATISFIABLE', 'REQUEST_ENTITY_TOO_LARGE', 'REQUEST_TIMEOUT', 'REQUEST_URI_TOO_LON
G', 'RESET_CONTENT', 'ResponseNotReady', 'SEE_OTHER', 'SERVICE_UNAVAILABLE', 'SW
ITCHING_PROTOCOLS', 'StringIO', 'TEMPORARY_REDIRECT', 'UNAUTHORIZED', 'UNPROCESS
ABLE_ENTITY', 'UNSUPPORTED_MEDIA_TYPE', 'UPGRADE_REQUIRED', 'USE_PROXY', 'Unimpl
ementedFileMode', 'UnknownProtocol', 'UnknownTransferEncoding', '_CS_IDLE', '_CS
_REQ_SENT', '_CS_REQ_STARTED', '_MAXHEADERS', '_MAXLINE', '_UNKNOWN', '__all__',
 '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'array', 'err
or', 'mimetools', 'os', 'py3kwarning', 'responses', 'socket', 'ssl', 'urlsplit',
 'warnings']
>>>

You will notice that the HTTPSConnection method is in one version of httplib and not the other. Why is this happening?

Once I changed my script name from ssl.py to anotherName.py all is fine. IT was getting confused when I was trying to import the module ssl

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM