python秒表小项目_适合新手练习的几个python小项目
关于python练习的小项目,其实就是一些常用的模块的针对练习
一、找出电脑中遗忘的大文件
# !/usr/bin/env python
# _*_ coding:utf-8 -*-
import osdef old_file(path, file_size): # 传入路径,和规定的文件大小阈值for dirpath, dirnames, filenames in os.walk(path): # os.walk 用法for target_file in filenames:target_file = os.path.join(dirpath, target_file) # 拼接规定目录下所有文件if not os.path.isfile(target_file): # 异常处理,有的不一定是文件continuesize = os.path.getsize(target_file) # 获取该文件大小,为下面作比对做准备if size > file_size:size = size//(1024 * 1024) # 转换成MBsize = '%dMB' %sizeprint('文件路径:%s 大小:%s'%(target_file, size))
if __name__ == '__main__':print("建议这里直接赋值粘贴即可")files = input("请输入文件路径:")size = int(input('输出规定的大小(单位MB):'))size = size * 1024 *1024 # 输入的大小化为MBtry: # 异常处理,防止输入错误old_file(files, size)except:print("输入的路径有误")
输出样例:
二、制作密码生成器
# !/usr/bin/env python
# _*_ coding:utf-8 -*-
import random as r # random模块的使用
def toatl(a,b,c,d):sum_ = upper_(a) + lower_(b) + plot_(c) + nums_(d) # 调用下面的函数sum_ = ''.join(r.sample(sum_, len(sum_))) # 将sum_内容打乱,并将返回的列表作为字符串输出print(sum_)
def upper_(count): upp = 'QWERTYUIOPASDFGHJKLZXCVBNM'return ''.join(r.choices(upp, k = count)) # 从upp中随机选出a个返回
def lower_(count):low = 'qwertyuiopasdfghjklzxcvbnm'return ''.join(r.choices(low, k=count)) # 从low中随机选出b个返回
def plot_(count):pl = '!#$%&*.'return ''.join(r.choices(pl, k=count)) # 从pl中随机选出c个返回
def nums_(count):nm = '1234567890'return ''.join(r.choices(nm, k=count)) # 从nm中随机选出d个返回
if __name__ == '__main__':toatl(1,3,1,8) #输入想要随机生成的密码对应大写字母个数,小写字母个数,特殊符号个数,数字个数
输出样例:
三、海龟画美国队长的盾
# !/usr/bin/env python
# _*_ coding:utf-8 -*-import turtle as tl # 导入turtle
def circle_(): # 先画圆col = ['red', 'white', 'red', 'blue'] # 定义颜色rad = [200,150,100,50] # 分别定义圆的半径tl.penup() # 抬笔tl.goto(0,-200) # 定义初始位置top = -150 # 定义一个增加的变量,调整圆的位置for i in range(4): # 美国队长的盾,四个圆tl.fillcolor(col[i]) # 填充刚刚设置好的颜色tl.begin_fill() # 开始填充tl.circle(rad[i]) # 画圆tl.end_fill() # 填充结束tl.goto(0, top) # 位置上移toptop += 50 # 调整top大小
def star(): # 画星星tl.goto(-46,15) # 参数自己调试tl.fillcolor('white') # 白色的星星tl.begin_fill() # 开始填充for _ in range(5): # 参数自己调试tl.forward(95)tl.right(144)tl.end_fill()tl.done() # 画完收笔,保持画面
if __name__ == "__main__":circle_() #调用两个函数star()
输出样例:
四、为下载的内容添加进度条
import requestsdef download_file(url, path):r = requests.get(url, stream=True) # 链接地址,获取内容赋值给rcontent_size = int(r.headers['content-length']) # 获取将要下载的内容的总长度print('下载开始')with open(path, "wb") as f: # 开始把内容写入到path中,格式为wb,赋值给 fn = 1;for chunl in r.iter_content(chunk_size=1024): # 边下载边存硬盘,大小可修改,单位为Bloaded = (n * 1024.0 / content_size) * 100 # 进度条f.write(chunl) # 写入文件print('r' + '已下载{:.2f}%'.format(loaded), end='', flush=True) # 调整输出内容覆盖n += 1 # 每次下载完+1# 不能同时两行printif __name__ == "__main__"download_file("https://vd4.bdstatic.com/mda-khkkr38rhxhf5sms/mda-khkkr38rhxhf5sms.mp4", './dome5.mp4')# 路径+视频源地址
输出样例:
五、字符画的转变
# !/usr/bin/env python
# _*_ coding:utf-8 -*-from PIL import Image # pillow模块char_set = 'Iloveyou' # 定义字符画要写的字lh = Image.open("imageschar_loveheart.png") # 打开预存好的图片
lh = lh.resize((70, 30), Image.ANTIALIAS) # 调整尺寸大小,后面参数防止失真
lh = lh.convert('L') # 转为灰度图
lh.save('imagesloveheart_1.png') # 存储def set_gray(gray1, count1):if gray1 >= 210: # 该数值调试得出,注意字符画背景要求为纯色return ' 'else:return char_set[count1]text = ''
count = -1 # 置一个-1的参数,下面会用到count值不断上调位置
for i in range(lh.height):for j in range(lh.width): # 分别获取图片坐标,像素的位置count += 1gray = lh.getpixel((j, i)) # 获取位置的RGBif isinstance(gray, tuple):gray = int(0.2126 * gray[0] + 0.7152 * gray[1] + 0.0722 * gray[2])# 参数调试所得# print(gray)if count == len(char_set): #如果读完一行,则跳行,count值为0count = 0text += set_gray(gray, count) text += 'n' # 输出换行,读取下一行with open('pic_loveheart.txt', 'w') as f: # 存入文档f.write(text)
输出样例:
六、简单的小爬虫
# !/usr/bin/env python
# _*_ coding:utf-8 -*-import requests
import pprint
import time
import os
from urllib import requestclass Haokanshipin(object): # 定义一个好看视频的类def __init__(self, game):self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0'} # 请求头self.url = "https://haokan.baidu.com/videoui/api/videorec?tab=game_%s&act=pcFeed&pd=pc&num=15&shuaxin_id=%d" % (game, time.time()) # 抓包发现内容和时间戳def makepath(self):if not os.path.exists('./好看视频短视频'):os.mkdir('./好看视频短视频') # 创建目录def get_data(self):res = requests.get(url=self.url, headers=self.headers) # 爬取内容response = res.json() # 转化为json格式,抓包发现是json格式,所以转换# pprint.pprint(response)response_list = response['data']['response']['videos'] # 剥洋葱,获取连接的列表for content in response_list:title = content['title'] + '.mp4' # 标题play_url = content['play_url'] # 路径play_path = './好看视频短视频' + '/' + title # 拼接好得到的本地路径print('%s正在下载中' % title)request.urlretrieve(play_url, play_path) #下载,文件较大,也可二进制分块写入print('%s下载成功' % title)def run(self): # 执行self.makepath()self.get_data()if __name__ == '__main__':print('现在支持现在游戏系列有英雄联盟,和平精英,王者荣耀,第五人格,明日之后,穿越火线,
迷你世界')print('-----------------------------------------------------------------------------------')game_list = {'王者荣耀': 'wzry', '和平精英': 'hpjy', '第五人格': 'dwrg', '明日之后': 'mrzh','QQ飞车': 'qqfc', '英雄联盟': 'yxlm','穿越火线': 'cyhx', '迷你世界': 'mnsj'} #抓包所得支持的内容,通过字典转化为url需要的内容game = input('输入你想要下载的游戏视频(输入游戏全称哦):')try: # 异常处理game = game_list[game]except:print('请检查您输入的游戏名是否正确')hksp = Haokanshipin(game) # 实例化hksp.run() # 执行代码
输出样例:
以上都是比较简单适合新手练习的小项目,主要涉及os模块,pillow模块,turtle海龟绘图模块,random模块,和爬虫有关的 requests和xpath模块。
希望对新手的学习有所帮助,最后(再来一遍QWQ),假期来临,个人想要收几个入门学习python的新手,本人主要是爬虫方向,如果有意,可以加我个人Q:2135432606,记得备注知乎
python秒表小项目_适合新手练习的几个python小项目相关推荐
- python需要多大的硬盘_适合新手练习的几个python小项目
关于python练习的小项目,其实就是一些常用的模块的针对练习 一.找出电脑中遗忘的大文件 # !/usr/bin/env python # _*_ coding:utf-8 -*- import o ...
- 基于stm32的简单小项目_适合小白做的创业3个小项目,简单上手
现在每一位为了能够让自己和家人过上更好地生活,都会不满足于现状的单方面地工作,想要通过创业来改变如今的局面,这种想法也是好的,但是我们需要知道想要创业,并不是那么的容易,需要有一定的技能和管理水平才能 ...
- python在家创业项目_适合在家里做的互联网创业虚拟项目
适合在家里做的虚拟项目. 1.民间手工艺品 我们国家有很多民间手工艺品,比如年画.剪纸.风筝.油纸伞.我国的民间手工艺品都有很长的历史,随着社会的发展,移动互联网的兴起,大家对中国美的重新审视,这些手 ...
- dt测试软件的学习心得,无线网络优化dt测试心得_适合新手入门,高手进阶_5年项目经验实战经验.docx...
无线网络优化DT测试心得_适合新手入门,高手进阶_5年项目经验实战经验 无线网络优化DT测试心得_适合新手入门,高手进阶_5年项目经验实战经验 路测中不常见的问题和个人心得 1.深井子镇投诉测试报告 ...
- c语言做搬山游戏,C语言实现搬山小游戏,适合新手的项目实战,超易上手!
原标题:C语言实现搬山小游戏,适合新手的项目实战,超易上手! 问题描述 设有n座山,计算机与人作为比赛的双方,轮流搬山.规定每次搬山数不能超过k座,谁搬最后一座谁输. 游戏开始时,计算机请人输入山的总 ...
- Java web小项目_个人主页(1)—— 云环境搭建与项目部署
摘自:Java web小项目_个人主页(1)-- 云环境搭建与项目部署 作者:丶PURSUING 发布时间: 2021-03-26 23:59:39 网址:https://blog.csdn.net/ ...
- python新手练习项目_适合Python 新手的5大练手项目,你练了么?
已经学习了一段时间的Python,如果你看过之前W3Cschool的文章,就知道是时候该进去[项目]阶段了. 但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? W3Cschool首先有两 ...
- 简单且有创意的python作品_适合练手的 14 个Python 小项目,趣味十足!
掌握一门技术,迅速提升能力,最好方法是通过实践项目,最好是完整且有趣的.分享一本,我认为非常不错的书籍,<Python Playground>,这本书每个章节就是一个完整的小项目. ...
- 100个python进阶实战小项目(适合新手) 微信撤回查看|抖音批量下载等
Hi~,各位小伙伴,Python是目前编程语言中的主流语言之一,也是公认最容易入门的编程语言,因为Python语言近几年的火爆,有很多小伙伴都开始学习这门语言. 编程语言学习,最重要的是"多 ...
最新文章
- Udacity机器人软件工程师课程笔记(二十七) - 卷积神经网络(CNN)
- 【算法与数据结构】汉诺塔问题Java实现
- PHP绕过disable_function限制(一)
- 如何改android device monitor文件的权限
- 个人代码库のC#千千静听 - 桌面歌词 (功能模拟)
- python中socket实现代理功能_python实现代理服务功能实例
- python场景异常_python-异常
- [转]Xshell连接win10 Linux子系统
- linux 长连接个数限制
- Origin绘制上面和右边边框
- 【ActiveMQ】消息生产者自动注入报错:Could not autowire. No beans of 'JmsMessagingTemplate' type found
- UI素材|管理系统数字可视化界面
- 百度否认退市;微信官方回应「个人影响度报告」;微软公布 C# 9.0 计划 | 极客头条...
- html如何实现表格效果,DIV+CSS技术实现类似table表格的效果
- 电脑主机启动不了是什么原因
- C++小游戏——打方块
- java teechart怎么用_TeeChart for Java
- 不同计算机的操作码完全相同,单片机课后习题答案
- 故事会-设计模式-策略模式
- 使用Java API访问HFDS
热门文章
- android studio 反编译工具,android studio反编译工具jd-inteIIij
- html5移动端底部效果,spring mvc +HTML5实现移动端底部上滑异步加载更多内容分页效果...
- 云开发太简单了吧!「72变的云开发」有奖征文领三重好礼!
- Jupiter黑客松——IPFS开发者大赛火热报名中!
- 大文件下载及视频点播的CDN加速实践
- CSS中content和attr的用法
- 《盗墓笔记》使用的这套技术,让美术可以在场景中任意使用灯光
- 安卓工控主板双网口有什么用途?
- 由于没有远程桌面授权服务器可以提供许可证,远程回话被中断
- .NET MVC访问某方法后会跳转页面