Python学习Day06

一、with语句

上下文管理器: 打开文件,执行完with语句内容之后,会自动关闭文件
对象

with open('/tmp/file') as  f:
	print(f.read())
		## with语句的作用就相当于在open后面自动加上close
	
f = open('/tmp/file','r')
print(f.read())
f.close()

在这里插入图片描述

同时打开两个文件对象(这种写法在python2中不支持)

with open('/tmp/file') as f1,\
open('/tmp/file1','w+') as f2:                                   				

f2.write(f1.read())				 ## 将第一个文件的内容写入第二个文件中
f2.seek(0)						## 	移动指针到文件最开始
print(f2.read())

在这里插入图片描述

在python2中
不能同时用with打开俩个文件只能分别打开

	with open('/tmp/passwd') as f1:
	content = f1.read()
	with open('/tmp/passwdbackup','w+') as f2:
	f2.write(content)

文件操作练习
创建文件data.txt,共100000行,每行存放一个1~100之间的整数
用open 、 close的方式:

		import random
		f = open('data.txt','w+')
		for i in range(100000):
		    f.write(str(random.randint(1,100)) + '\n')
		
		f.seek(0)
		print(f.read())
		f.close()

在这里插入图片描述
使用with语句:

	import random
	with open('data.txt','w+') as f:
	 for i in range(100000):
    f.write(str(random.randint(1,100)) + '\n')
    f.seek(0)
    print(f.read())

在这里插入图片描述

二、os模块

1.返回操作系统类型
值为:posix,表示linux操作系统 如果nt,是windows操作系统

		import os
		print(os.name)

在这里插入图片描述
2.操作系统详细信息

		info = os.uname()
		print(info)						## 显示当前操作系统的所有信息
		print(info.sysname)				## 显示当前的操作系统
		print(info.nodename)			## 显示当前主机名称

在这里插入图片描述

3.环境变量

		print(os.environ)		## 显示当前系统环境变量

在这里插入图片描述
4.通过key值获取环境变量对应的value值

		print(os.environ.get('PATH'))

在这里插入图片描述

三、操作系统

1.判断是否是绝对路径

	import os
	import random
	from os.path import exists,splitext,join
	
	print(os.path.isabs('/tmp/hello'))
	print(os.path.isabs('hello'))
			##  只会对路径进行判定,路径的目录或文件是否真是存在不影响判断结果

在这里插入图片描述
如上图所示可以准确判断是否是绝对路径,但文件或目录 ‘hello’是否存在不影响路径的判断
在这里插入图片描述

2.生成绝对路径

	print(os.path.abspath('file'))		## 在当前路径下,生成存放file的绝对路径
	print(os.path.join('/home/kiosk','file'))	## 用join的方法生成存放file的绝对路径
	print(os.path.join(os.path.abspath('.'),'file'))

在这里插入图片描述
3.获取目录名或者文件名

filename = '/home/kiosk/PycharmProjects/20190622/day06/file'

获取路径中的文件名

	 print(os.path.basename(filename))

获取路径中的目录名

	 print(os.path.dirname(filename))

在这里插入图片描述

4.创建目录/删除目录
创建目录

	os.mkdir('HAHA')		## 创建目录HAHA 			

在这里插入图片描述

创建递归目录

	os.makedirs('img/file')
	os.rmdir('HAHA')

在这里插入图片描述

6.文件重命名

 os.rename('data.txt','data1.txt')

在这里插入图片描述

7.判断文件或目录是否存在
可以判断相对路径或绝对路径
返回的是bool值

	print(os.path.exists('img'))
	print(os.path.exists('HAHA'))

在这里插入图片描述

8.分离后缀名和文件名

	print(os.path.splitext('data.txt'))

在这里插入图片描述

9.将目录名和文件名分离

	print(os.path.split('/tmp/ips.txt'))

在这里插入图片描述

遍历目录

遍历指定目录下的所有内容

	import os
	from os.path import join
	
	for root,dir,files in os.walk('/var/log'):
	     print(root)					## 打印该目录下的用户
	     print(dir)						## 打印该目录下的目录
	     print(files)					## 打印该目录下的文件
	    for name in files:
	        print(join(root,name))

在这里插入图片描述

四、时间之间的转换

把元组时间转换为时间戳

	import time
	import os
	tuple_time = time.localtime()
	print(tuple_time)
	print(time.mktime(tuple_time))

在这里插入图片描述

把元组时间转换成字符串时间

	 print(time.strftime('%m-%d',tuple_time))
	 print(time.strftime('%Y-%m-%d',tuple_time))
	 print(time.strftime('%T',tuple_time))
	 print(time.strftime('%F',tuple_time))
	 					##   时间显示格式的参数参照 date

在这里插入图片描述

将时间戳类型转换为字符串时间

	 pwd_time = os.path.getctime('/etc/passwd')
	 print('pwd_time',pwd_time)
	 print(time.ctime(pwd_time))

在这里插入图片描述
将时间戳转换为元组

		 print(time.localtime(pwd_time))

五、第三方模块

安装pip
导入qrcode生成二维码

	import qrcode
	
	img = qrcode.make('http://www.baidu.com')
	img.save('hello.png')

执行完成没有报错就会在当前目录下生成一个图片文件hello.png,打开后就是我们生成的二维码
在这里插入图片描述

可能会提示缺少模块PIL错误,那就需要下载PIL模块

PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。

由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3,又加入了许多新特性,因此,我们可以直接安装使用Pillow。

我这里安装的是python3,使用pip3下载,没有配置的可以直接cd到python3安装目录下的二进制文件直接执行

	./pip3 install Pillow

python实现微信接口————itchat模块

import itchat
import time
import random
 
		### 实现扫码微信临时登陆,加入hotReload=True参数可以保留一段时间,
							该参数生成一个静态文件itchat.pk1用于存储登陆状态
itchat.auto_login(hotReload=True)
 
## 实现发送消息
while True:
    # 发送消息或者文件给微信文件传输助手
    # 发送消息
    itchat.send('hello', toUserName='filehelper')
    # 发送文件
    itchat.send_file('/etc/passwd', toUserName='filehelper')
    time.sleep(random.randint(1, 3))  
    					##  需要有间隔时间的发送,不然会一直发

统计男女以及其他人数

					## itchat的get_friends方法获取好友信息
	friends = itchat.get_friends()		 
	info = {}
	 
	for friend in friends[1:]:
	    if friend['Sex'] == 1:
	        info['male'] = info.get('male', 0) + 1
	    elif friend['Sex'] == 2:								## 男1女2
	        info['female'] = info.get('female', 0) + 1
	    else:
	        info['other'] = info.get('other', 0) + 1
	print(info)

需求:给文件助手发送消息,执行发送的内容
1.如果执行成功,现实执行结果
2.如果执行失败,现实执行失败

	import os
	import itchat
	
	@itchat.msg_register(itchat.content.TEXT,isFriendChat=True)
	def text_reply(msg):
	    if msg['ToUserName'] == 'filehelper':
	        #获取要执行的命令内容
	        comand = msg['Content']
	        #系统执行代码
	        if os.system(comand) == 0:
	            res = os.popen(comand).read()
	            result = '[返回值]-命令%s执行成功,执行结果: \n' + res
	            itchat.send(result,'filehelper')
	        else:
	            result = '[返回值]-命令%s执行失败,请检查命令: \n' %(comand)
	            itchat.send(result,'filehelper')
	
	itchat.auto_login()
	itchat.run()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值