PyCharm的简介
随着近年来Python的火爆程度逐年攀升,越来越多的开发者开始因其丰富的库支持,简洁高效的语法以及强大的运算速度而对其纷纷侧目,也正因此,Python及基于它而生的各类框架(如Django,Falcon等)普遍应用于当下各类场景下.Python作为"ABCD"时代的弄潮儿,大有独领风骚之势.也正是因此,Python毫无疑问是当前最好的编程入门语言.
俗话说,"工欲善其事必先利其器",一个好的IDE(Integrated Development Environment)必不可少,除了可以高效快捷地书写思维,它更 是编程之美的快乐源泉的"水龙头".作为业界佼佼者,Jet Brains的各款IDE在开发者中极受欢迎,当然,他们为Python也量身定制了一款IDE——PyCharm,接下来就简单说一下如何安装并使用这款非常优秀的IDE.
下载与安装PyCharm
你可以在这个页面看到以下内容:
请根据平台选择并下载你要使用的PyCharm,我下载的Windows的专业版.
PyCharm Professional 2018.3 (专业版,功能强大.需要付费激活, 可以免费试用)
PyCharm Community 2018.3 (社区版,功能比专业版略少,但对于初学者绰绰有余.开源)
下载完成之后即可双击安装
确保你成功安装了Python3(2.x版本的Python将会逐步失去支持)
启动PyCharm
专业版可以免费试用30天(点击"Evalute for free")
如果选择激活的话激活方式有三种
1.通过JetBrains账号激活,这要求你的JB账号内含PyCharm的使用权限;
2.通过激活码激活,本文使用此方式激活(YY看到这里请微信找我要激活码);
3.通过证书服务器激活(专为企业用户使用).
激活成功的话,就可以见到下面的界面了.
设置PyCharm(只列出需要重要配置,未列出的可使用默认)
- 插件配置
- 界面偏好设置
- 键位
- 编辑器(重点)
- VCS及其他
至此, 配置就告一段落了.
当然, IDE配置还是需要精确贴切我们的开发需要的, 我这里只是分享一些简单且通用的建议.
运行一个demo
好, 至此我们已经完成了准备, 接下来可以将我的一段发送邮件的demo复制进去,代码如下:
import configparser
import re
import smtplib
import sys
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.utils import formataddr
cg = configparser.ConfigParser()
cg.read('config.ini') # note 读取本地配置文件
encode = cg.get('mail', 'encode') # note 编码, 一般用utf-8
host = cg.get('mail', 'host') # note stmp邮件服务器
auth_code = cg.get('mail', 'pw') # note 授权码, 非密码(在你的邮箱设置里获取)
re_mail_address = r'^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+){0,4}@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+){0,4}$' # note 邮箱的RegEx
receivers = str(cg.get('mail', 'receivers')).split(',') # note 收件人邮箱数组
sender = cg.get('mail', 'sender') # note 发件人邮箱
if not re.match(re_mail_address, sender):
print('发件人邮箱 %s 非法!' % sender)
sys.exit()
msg = MIMEMultipart() # note 支持附件的类型
msg.attach(MIMEText('所以我们是老乡', 'plain', encode)) # note 正文
msg['From'] = formataddr(['猎天使魔♂男', sender]) # note 发件人昵称和邮箱
msg['Subject'] = Header('我也是一个广东♂人', encode) # note 邮件主题
attachment = MIMEText(open("List of This Gym's Items.txt", 'rb').read(), 'base64', 'utf-8') # note 添加附件
attachment["Content-Type"] = 'application/octet-stream'
attachment["Content-Disposition"] = 'attachment; filename="Items.txt"' # note filename邮件中附件显示的名字
msg.attach(attachment)
if str(host).find('qq'):
sm = smtplib.SMTP_SSL(host=host, port=smtplib.SMTP_SSL_PORT) # note Tencent系邮箱需要启用SSL
else: # note Netease系邮箱采用普通smtp登录
sm = smtplib.SMTP()
sm.connect(host, smtplib.SMTP_PORT)
sm.login(sender, auth_code)
for receiver in receivers:
if not re.match(re_mail_address, receiver):
print('收件人邮箱 %s 非法!', receiver)
continue
msg['To'] = formataddr(['', receiver]) # note 收件人昵称和邮箱
sm.sendmail(sender, receiver, msg.as_string())
print('向 %s 发送成功 !' % receiver)
sm.quit()
我采用读取配置文件的方式读取参数(参数比较敏感), 所以需要在demo下新建一个config.ini文件:
为了测试发送附件的效果,需要仿照新建config.ini的过程创建一个名为List of This Gym's Items的txt文件,里面内容随意.
配置好之后,就可以执行了
如图所示,即为成功 !
i ٩(๑´3‘๑)۶ yy