python和计算机交互

python和计算机交互,第1张

Python3x 中 input() 函数接受一个标准输入数据,返回为 string 类型。

Python2x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。

raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。

目前python2x 官方已经没维护,不建议使用

下面以 python3 举例说明

name=input("请输入用户名:")

无论输入何种类型的数据,input都会将他存成字符串格式

为什么要有程序交互?

让计算机能够模拟人,让计算机去接受用户的输入信息

例子

实现用户输入用户名和密码,当用户名为HyRer且密码为123时,显示登陆成功,否则显示登陆失败

输出样式

使用Python获取电脑磁盘信息需要借助于第三方的模块psutil,这个模块需要自己安装,纯粹的CPython下面不具备这个功能。

在iPython交互界面中进行如下演示:

查看电脑的磁盘分区:

In [1]: import psutil

In [2]: psutildisk_partitions()

Out[2]: [sdiskpart(device='/dev/disk2', mountpoint='/', fstype='hfs', opts='rw,local,rootfs,dovolfs,journaled,multilabel')]

In [3]: len(psutildisk_partitions())

Out[3]: 1

从上面的结果看出,电脑只有一个分区。针对最后的结果专门通过判断字典的元素个数来确认了一下。

查看电脑的磁盘使用百分比:

In [4]: psutildisk_usage('/')

Out[4]: sdiskusage(total=1114478608384, used=305497878528, free=808718585856, percent=274)

相对来说还好,新电脑使用时间还不是很长,硬盘暂时还没有塞满。总共用了大约274%。

查看电脑磁盘的IO计数:

In [5]: psutildisk_io_counters()

Out[5]: sdiskio(read_count=112237L, write_count=99750L, read_bytes=5243863040L, write_bytes=7047483392L, read_time=80568L, write_time=138699L)

In [7]: psutildisk_io_counters(perdisk=True)

Out[7]:

{'disk0': sdiskio(read_count=103533L, write_count=86260L, read_bytes=5120090624L, write_bytes=4813373440L, read_time=29774L, write_time=27654L),

'disk1': sdiskio(read_count=8740L, write_count=13723L, read_bytes=124141056L, write_bytes=2237206528L, read_time=50840L, write_time=111871L)}

上面分别使用了两种方式,第一种方式是获取磁盘总的IO信息,第二种是查看电脑分区的磁盘信息。从结果上来看,信息的统计不是按照逻辑分区来统计的,而是按照物理磁盘来统计的。我的电脑上正好是有两块磁盘,一块机械硬盘还有一块固态硬盘,其实这个按照物理磁盘进行统计的说法是根据这个推断出来的。

因为不是最新版的windows。

python需要在最新版本的windows上安装下载,这是64位的Windows *** 作系统,知道 *** 作系统的位数后到python官网下载相对应的python安装包,安装即可。最新windows *** 作系统python下载。下载完后直接双击python安装包进行安装即可,安装方法比较简单。安装完成后,在dos下(开始-运行-cmd)查看python安装是否成功,输入:python命令即可查看。

执行py程序后,程序将每隔10分钟(时间可以自己设置)读取一次邮箱最新邮件,解析获得邮件主题,当主题为“关机”时,程序将关闭电脑,为“重启”时,将重启电脑。在长时间离开电脑时,可以将py程序跑起来,如果需要关机或重启,可以向邮箱发一封邮件即可

代码

# -- coding:utf-8 --

import os

import time

import poplib

import email

from emailheader import decode_header

#========================================

# 读取Email,获取Email主题

#========================================

def getEmailSubject():

read = poplibPOP3('pop163com')

readuser('xxx@163com')# 163邮箱用户名

readpass_('xxx') # 163邮箱设置中的客户端授权密码

allEmails = readstat() # 读取邮件信息

topEmail = readtop(allEmails[0], 0) # 获取最新的一封邮件

tmp = []

# 解码邮件,存入tmp

for s in topEmail[1]:

try:

tmpappend(sdecode())

except:

try:

tmpappend(sdecode('gbk'))

except:

tmpappend(sdecode('big5'))

message = emailmessage_from_string('\n'join(tmp))

# 获取邮件主题

subject = decode_header(message['Subject'])

if subject[0][1]:

subjectDecode = subject[0][0]decode(subject[0][1])

else:

subjectDecode = subject[0][0]

return subjectDecode

#=========================================

# 检查Email的主题

#=========================================

def checkEmailSubject():

while True:

subject = getEmailSubject()

print('check subject ')

print('subject is ' + subject)

if subject == '重启':

ossystem('shutdown -r -t 3')

break

if subject == '关机':

ossystem('shutdown -s -t 3')

break

timesleep(600) # 每10分钟检查一次

if __name__ == '__main__':

checkEmailSubject()

以上就是关于python和计算机交互全部的内容,包括:python和计算机交互、如何用python实现获取计算机上的硬盘名、python安装完电脑发热等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9869819.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存