配置Python,Eclipse 环境:
http://www.qrong.com/archives/513
TypeError: 'module' object is not callable 原因分析
Python导入模块的方法有两种:import module 和 from module import,区别是前者所有导入的东西使用时需加上模块名的限定,而后者不要。
IntelliJ IDEA手工安装插件方法:
参考文章:http://little-bill.iteye.com/blog/1354518
1. Python 学习网址
http://www.cnblogs.com/known/
http://www.erlangsir.com/category/python/page/3/
http://docs.python.org/library/index.html
2. 通过commandline 执行 .py 脚本
首先要将python的安装目录加入到PATH环境变量中。如:
PATH=%PATH%;c:\python27再到你保存py源文件的目录下执行:
<脚本路径> python helloworld.py
3. python 读写 csv 文件
参考文章:
http://python365.blogbus.com/logs/79153374.html
http://www.pythonclub.org/python-files/csv
4. Python 通过命令行传参数
http://www.cublog.cn/u3/107101/showart_2247117.html
实例:
- import sys
- if(len(sys.argv)>2):
- print "aaaa"
- sys.exit(0)
- print "Commandline parameter 1: ",sys.argv[1]
- print "Commandline parameter 2: ",sys.argv[2]
5. 获取函数名
- def
test_fn(): -
pass
如上面这个函数,想动态获取该函数名"test_fn",如果直接写函数名字符串就买啥意思,且看如下:
- import
sys - def
test_fn(): -
fn_name = (lambda:sys._getframe(1).f_code.co_name)()
return fn_name - print
test_fn
6. Python 发http请求
http://blog.csdn.net/five3/article/details/7079140
- import httplib
- conn = httplib.HTTPConnection("baidu.com")
- conn.request("GET", "/index.html")
- r1 = conn.getresponse()
- print r1.status, r1.reason
- resultContent = r1.read()
- print resultContent
7. Python 中 安装 pyExcelerator
方法一:
直接将pyexcelerator-0.6.4.1这个文件夹里的pyExcelerator文件夹复制到
C:\Python26\Lib\site-packages文件夹下就可以使用
方法二:
进入pyExcelerator中 setup.py 所在目录:
通过命令 python setup.py install 进行安装
8. Python 读写 Excel 操作
http://mj4d.iteye.com/blog/1395631
9. Python 输出日期
import time
print time.strftime('%Y-%m-%d',time.localtime(time.time()))
10.Python 获取当前脚本路径和目录
import os
print os.path.realpath(__file__)
print os.path.abspath(os.curdir)
11. Python 实现socket通讯(TCP)
实例:(在2.7上测试通过)
Server 端代码:
- import socket
- address1=('127.0.0.1',2011)
- s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- s.bind(address1)
- s.listen(5)
- cs,address = s.accept()
- print 'got connected from',address
- cs.send('hello I am server,welcome')
- while 1:
- ra=cs.recv(512)
- print ra
Client端代码:
- import socket
- address=('127.0.0.1',2011)
- s=socket.socket()
- s.connect(address)
- data=s.recv(512)
- print 'the data received is/n ',data
- s.send('hihi I am client')
- while 1:
- sInput=raw_input("Enter message and send to server:\n")
- s.send('From client: %s'%sInput)
12. Python 发邮件代码:
参考地址: http://justcoding.iteye.com/blog/918933
- import os
- import smtplib
- import mimetypes
- from email.MIMEMultipart import MIMEMultipart
- from email.MIMEBase import MIMEBase
- from email.MIMEText import MIMEText
- from email.MIMEAudio import MIMEAudio
- from email.MIMEImage import MIMEImage
- from email.Encoders import encode_base64
- def sendMail(subject, text, *attachmentFilePaths):
- gmailUser = 'huichanglee@163.com'
- gmailPassword = '******'
- recipient = 'cheers.lee@foxmail.com'
- msg = MIMEMultipart()
- msg['From'] = gmailUser
- msg['To'] = recipient
- msg['Subject'] = subject
- msg.attach(MIMEText(text))
- for attachmentFilePath in attachmentFilePaths:
- msg.attach(getAttachment(attachmentFilePath))
- mailServer = smtplib.SMTP('smtp.163.com', 25)
- mailServer.ehlo()
- mailServer.starttls()
- mailServer.ehlo()
- mailServer.login(gmailUser, gmailPassword)
- mailServer.sendmail(gmailUser, recipient, msg.as_string())
- mailServer.close()
- print('Sent email to %s' % recipient)
- def getAttachment(attachmentFilePath):
- contentType, encoding = mimetypes.guess_type(attachmentFilePath)
- if contentType is None or encoding is not None:
- contentType = 'application/octet-stream'
- mainType, subType = contentType.split('/', 1)
- file = open(attachmentFilePath, 'rb')
- if mainType == 'text':
- attachment = MIMEText(file.read())
- elif mainType == 'message':
- attachment = email.message_from_file(file)
- elif mainType == 'image':
- attachment = MIMEImage(file.read(),_subType=subType)
- elif mainType == 'audio':
- attachment = MIMEAudio(file.read(),_subType=subType)
- else:
- attachment = MIMEBase(mainType, subType)
- attachment.set_payload(file.read())
- encode_base64(attachment)
- file.close()
- attachment.add_header('Content-Disposition', 'attachment', filename=os.path.basename(attachmentFilePath))
- return attachment
- # start to test
- sendMail('Hi,Cheers Li', 'Greetings from lihuichang')
12. Python 获取本机计算机名和ip
方法一:
- import socket
- name=socket.gethostname()
- print name
- ip_addr=socket.gethostbyname(name)
- print ip_addr
方法二:
- from socket import socket, SOCK_DGRAM, AF_INET
- s = socket(AF_INET, SOCK_DGRAM)
- s.connect(('google.com', 0))
- print s.getsockname()
13. Pyhton 网络编程之多线程
http://bbs.chinaunix.net/viewthread.php?tid=1434738
http://daxi.me/2009/08/101/