2

PyCharm的简介

随着近年来Python的火爆程度逐年攀升,越来越多的开发者开始因其丰富的库支持,简洁高效的语法以及强大的运算速度而对其纷纷侧目,也正因此,Python及基于它而生的各类框架(如Django,Falcon等)普遍应用于当下各类场景下.Python作为"ABCD"时代的弄潮儿,大有独领风骚之势.也正是因此,Python毫无疑问是当前最好的编程入门语言.

clipboard.png

俗话说,"工欲善其事必先利其器",一个好的IDE(Integrated Development Environment)必不可少,除了可以高效快捷地书写思维,它更 是编程之美的快乐源泉的"水龙头".作为业界佼佼者,Jet Brains的各款IDE在开发者中极受欢迎,当然,他们为Python也量身定制了一款IDE——PyCharm,接下来就简单说一下如何安装并使用这款非常优秀的IDE.


下载与安装PyCharm

你可以在这个页面看到以下内容:

clipboard.png

请根据平台选择并下载你要使用的PyCharm,我下载的Windows的专业版.
PyCharm Professional 2018.3 (专业版,功能强大.需要付费激活, 可以免费试用)
PyCharm Community 2018.3 (社区版,功能比专业版略少,但对于初学者绰绰有余.开源)
下载完成之后即可双击安装

clipboard.png

确保你成功安装了Python3(2.x版本的Python将会逐步失去支持)


启动PyCharm

clipboard.png

clipboard.png

clipboard.png

专业版可以免费试用30天(点击"Evalute for free")

如果选择激活的话激活方式有三种
1.通过JetBrains账号激活,这要求你的JB账号内含PyCharm的使用权限;
2.通过激活码激活,本文使用此方式激活(YY看到这里请微信找我要激活码);
3.通过证书服务器激活(专为企业用户使用).

clipboard.png

激活成功的话,就可以见到下面的界面了.

clipboard.png


设置PyCharm(只列出需要重要配置,未列出的可使用默认)

clipboard.png

  • 插件配置

clipboard.png

  • 界面偏好设置

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

  • 键位

clipboard.png

  • 编辑器(重点)

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png
clipboard.png
clipboard.png

  • VCS及其他

clipboard.png

clipboard.png
至此, 配置就告一段落了.

当然, IDE配置还是需要精确贴切我们的开发需要的, 我这里只是分享一些简单且通用的建议.


运行一个demo

clipboard.png

clipboard.png
clipboard.png

clipboard.png

clipboard.png

好, 至此我们已经完成了准备, 接下来可以将我的一段发送邮件的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文件:

clipboard.png
clipboard.png
clipboard.png
为了测试发送附件的效果,需要仿照新建config.ini的过程创建一个名为List of This Gym's Items的txt文件,里面内容随意.

clipboard.png
配置好之后,就可以执行了

clipboard.png

clipboard.png

clipboard.png

clipboard.png
如图所示,即为成功 !

clipboard.png

i ٩(๑´3‘๑)۶ yy


frolc
29 声望2 粉丝

| |_ _ | '_ | | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 暂时没有个人简介,立即添加