1.Python hasattr() 函数
描述
hasattr() 函数用于判断对象是否包含对应的属性。
语法
hasattr 语法:
hasattr(object, name)
参数
- object -- 对象。
- name -- 字符串,属性名。
返回值
如果对象有该属性返回 True,否则返回 False。
实例
以下实例展示了 hasattr 的使用方法:
#!/usr/bin/python # -*- coding: UTF-8 -*- class Coordinate: x = 10 y = -5 z = 0 point1 = Coordinate() print(hasattr(point1, 'x')) print(hasattr(point1, 'y')) print(hasattr(point1, 'z')) print(hasattr(point1, 'no')) # 没有该属性
输出结果:
True
True
True
False
打包.ui文件:
C:\Python27\Lib\site-packages\PyQt4>pyuic4 E:\pyDemo\proTools.ui -o proTools.py
Qt 代码是面向对象的,并且简单易学。所有我们添加的组件都是一个对象,并且都拥有自己的方法比如toPlainText()(用来读取输入框中的值)。这让它使用起来非常方便。
代码打包:C:\Python27\Scripts>python pyinstaller-script.py -w E:\pyDemo\PyQt\testPyQt.py testPyQt.spec
-F 带黑窗口 (打包成单个exe)
-W 不带黑窗口(打包成文件形式)
-i 加图标
pyinstaller -i D:\ALIX_SH\2carReport\yx.ico -W D:\ALIX_SH\2carReport\upload2carReport.py
-F -w 打包成exe,但不带黑窗口
pyinstaller -i D:\ALIX_SH\2carReport\yx.ico -F -w D:\ALIX_SH\2carReport\upload2carReport.py
下面用Pyinstaller生成一个可执行文件试试。
在命令提示符中去到要打包的目录;直接输入"pyinstaller -F -w 文件名.py(F大写);文件目录出现新的文件夹,里面就是打包好的exe文件了;
- -F, -onefile:打包成一个exe文件
- -w, -windowed:使用窗口,无控制台
- -c, -console:无窗口,使用控制台
- -D, -onedir:创建一个目录,包含exe文件,但会依赖其他文件
- --icon=图标路径
可以通过"Pyinstaller -h"来查看
Python发邮件的代码如下:
只需要填写好加粗字体,即可正常使用。
from exchangelib import DELEGATE, Account, Credentials, Message, Mailbox, HTMLBody def Email(to, subject, body): creds = Credentials( username='xxxxxx', password='xxxxxx' ) account = Account( primary_smtp_address='xxx@xxx.com', credentials=creds, autodiscover=True, access_type=DELEGATE ) m = Message( account=account, subject=subject, body=HTMLBody(body), to_recipients = [Mailbox(email_address=to)] ) m.send() Email("xxx@xxx.com", "abc", "def")
但是如果Python环境安装有瑕疵,则报错如下:
$python3 ab.py Traceback (most recent call last): File "ab.py", line 22, in <module> Email("xxx@xxx.com", "abc", "def") File "ab.py", line 12, in Email access_type=DELEGATE File "/usr/local/lib/python3.5/site-packages/exchangelib/account.py", line 66, in __init__ credentials=credentials) File "/usr/local/lib/python3.5/site-packages/exchangelib/autodiscover.py", line 214, in discover email=email) File "/usr/local/lib/python3.5/site-packages/exchangelib/autodiscover.py", line 236, in _try_autodiscover return _try_autodiscover(e.server, credentials, email) File "/usr/local/lib/python3.5/site-packages/exchangelib/autodiscover.py", line 262, in _try_autodiscover raise_from(AutoDiscoverFailed('All steps in the autodiscover protocol failed'), None) File "/usr/local/lib/python3.5/site-packages/future/utils/__init__.py", line 398, in raise_from exec(execstr, myglobals, mylocals) File "<string>", line 1, in <module> exchangelib.errors.AutoDiscoverFailed: All steps in the autodiscover protocol failed
好在我有台机器安装Python3.5.2正常,执行上述完全没有问题。
今天终于搞定!!! 2017-12-11
exchange的版本不对,
我本机版本:
pip3 search exchangelib
exchangelib (1.10.6) - Client for Microsoft Exchange Web Services (EWS)
INSTALLED: 1.9.4
LATEST: 1.10.6
服务器版本为:
$pip3 search exchangelib
exchangelib (1.10.6) - Client for Microsoft Exchange Web Services (EWS)
INSTALLED: 1.10.4
LATEST: 1.10.6
要做的就是把服务器上的版本降低到1.9.4,就"text-align: center">
1、首先下载一个神器exchangelib,操作 pip install exchangelib
2、然后只需要将下面的信息改成你的信息就可以了
from exchangelib import Account, Message, Mailbox, HTMLBody, ServiceAccount #忽略警告 import urllib3 urllib3.disable_warnings() #报错处理:ConnectionError: HTTPConnectionPool(host='mail.xxx.com', port=443): Max retries exceeded with url: # import socket # socket.create_connection((host, port), timeout=10) def Email(to, subject, body): creds = ServiceAccount(username='域\名', password='密码') account = Account('发送的邮箱', credentials=creds, autodiscover=True) m = Message(account=account,subject=subject,body=HTMLBody(body), to_recipients = [Mailbox(email_address=to)] ) m.send() Email("接收的邮箱", "邮件标题", "邮件内容")
安装库exchangelib
pip install exchangelib1
脚本内容
# coding=utf-8 # # Created on 2018/2/ from exchangelib import DELEGATE, Account, Credentials, Configuration, NTLM, Message, Mailbox, HTMLBody from exchangelib.protocol import BaseProtocol, NoVerifyHTTPAdapter #此句用来消除ssl证书错误,exchange使用自签证书需加上 BaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter # 输入你的域账号如example\leo cred = Credentials(r'EXAMPLE\leo', '输入你的密码') config = Configuration(server='输入邮箱服务器网页地址', credentials=cred, auth_type=NTLM) a = Account( primary_smtp_address='输入你要绑定的邮箱名(leo@example.com)', config=config, autodiscover=False, access_type=DELEGATE ) # 此处为用来发送html格式邮件的文件路径 with open(r'C:\Users\leo\Desktop\1.html') as f: msg = f.read().decode('utf-8') m = Message( account=a, folder=a.sent, subject=u'测试邮件', body=HTMLBody(msg), to_recipients=[Mailbox(email_address='输入你要绑定的邮箱名(leo@example.com)')] ) m.send_and_save()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 《暗喻幻想》顺风耳作用介绍
- 崔健1985-梦中的倾诉[再版][WAV+CUE]
- 黄子馨《追星Xin的恋人们2》HQ头版限量编号[WAV+CUE]
- 孟庭苇《情人的眼泪》开盘母带[低速原抓WAV+CUE]
- 孙露《谁为我停留HQCD》[低速原抓WAV+CUE][1.1G]
- 孙悦《时光音乐会》纯银CD[低速原抓WAV+CUE][1.1G]
- 任然《渐晚》[FLAC/分轨][72.32MB]
- 英雄联盟新英雄安蓓萨上线了吗 新英雄安蓓萨技能介绍
- 魔兽世界奥杜尔竞速赛什么时候开启 奥杜尔竞速赛开启时间介绍
- 无畏契约CGRS准星代码多少 CGRS准星代码分享一览
- 张靓颖.2012-倾听【少城时代】【WAV+CUE】
- 游鸿明.1999-五月的雪【大宇国际】【WAV+CUE】
- 曹方.2005-遇见我【钛友文化】【WAV+CUE】
- Unity6引擎上线:稳定性提升、CPU性能最高提升4倍
- 人皇Sky今日举行婚礼!电竞传奇步入新篇章