python需要多大的硬盘_适合新手练习的几个python小项目
关于python练习的小项目,其实就是一些常用的模块的针对练习
一、找出电脑中遗忘的大文件
# !/usr/bin/env python
# _*_ coding:utf-8 -*-
import os
def 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): # 异常处理,有的不一定是文件
continue
size = os.path.getsize(target_file) # 获取该文件大小,为下面作比对做准备
if size > file_size:
size = size//(1024 * 1024) # 转换成MB
size = '%dMB' %size
print('文件路径:%s大小:%s'%(target_file, size))
if __name__ == '__main__':
print("建议这里直接赋值粘贴即可")
files = input("请输入文件路径:")
size = int(input('输出规定的大小(单位MB):'))
size = size * 1024 *1024 # 输入的大小化为MB
try: # 异常处理,防止输入错误
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) #输入想要随机生成的密码对应大写字母个数,小写字母个数,特殊符号个数,数字个数
输出样例:根据代码我的随机个数分别是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) # 位置上移top
top += 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 requests
def download_file(url, path):
r = requests.get(url, stream=True) # 链接地址,获取内容赋值给r
content_size = int(r.headers['content-length']) # 获取将要下载的内容的总长度
print('下载开始')
with open(path, "wb") as f: # 开始把内容写入到path中,格式为wb,赋值给 f
n = 1;
for chunl in r.iter_content(chunk_size=1024): # 边下载边存硬盘,大小可修改,单位为B
loaded = (n * 1024.0 / content_size) * 100 # 进度条
f.write(chunl) # 写入文件
print('\r' + '已下载{:.2f}%'.format(loaded), end='', flush=True) # 调整输出内容覆盖
n += 1 # 每次下载完+1
# 不能同时两行print
if __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("images\\char_loveheart.png") # 打开预存好的图片
lh = lh.resize((70, 30), Image.ANTIALIAS) # 调整尺寸大小,后面参数防止失真
lh = lh.convert('L') # 转为灰度图
lh.save('images\\loveheart_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 += 1
gray = lh.getpixel((j, i)) # 获取位置的RGB
if 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值为0
count = 0
text += set_gray(gray, count)
text += '\n' # 输出换行,读取下一行
with open('pic_loveheart.txt', 'w') as f: # 存入文档
f.write(text)
输出样例:我本地存有心的图片,网上找即可,注意ps成纯色背景
六、简单的小爬虫
# !/usr/bin/env python
# _*_ coding:utf-8 -*-
import requests
import pprint
import time
import os
from urllib import request
class 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 ...
- python实现登录支付宝收能量_适合零基础人群学习的Python入门教程
适合零基础人群学习的Python入门教程学什么?小编为大家准备的Python学习教程,课程主要讲解:Python核心编程.Linux基础.前端开发.Web开发.爬虫开发.人工智能等内容. 对于初学者想 ...
- 基于stm32的简单小项目_适合小白做的创业3个小项目,简单上手
现在每一位为了能够让自己和家人过上更好地生活,都会不满足于现状的单方面地工作,想要通过创业来改变如今的局面,这种想法也是好的,但是我们需要知道想要创业,并不是那么的容易,需要有一定的技能和管理水平才能 ...
- python爬虫需要调用什么模块_适合新手练习的Python项目有哪些?Python爬虫用什么框架比较好?...
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. Python爬虫一般用什么框架比较好?一般来讲,只有在遇到比较大型的需求时 ...
- dt测试软件的学习心得,无线网络优化dt测试心得_适合新手入门,高手进阶_5年项目经验实战经验.docx...
无线网络优化DT测试心得_适合新手入门,高手进阶_5年项目经验实战经验 无线网络优化DT测试心得_适合新手入门,高手进阶_5年项目经验实战经验 路测中不常见的问题和个人心得 1.深井子镇投诉测试报告 ...
- python和lisp学哪个好_五位专家跟你讲讲为啥Python更适合做AI/机器学习
摘要: 为什么Python会在这股深度学习浪潮中成为编程语言的头牌?听听大牛如何解释吧! 1.Python网络编程框架Twisted的创始人Glyph Lefkowitz(glyph): 编程是一项社 ...
- python小白逆袭大佬_飞桨深造学院百度深造7天打卡第6期:python小白反攻大神的经验,深度,学习,日,第六期,Python,小白逆袭,结营,心得...
先来说说这七天的课程里有哪些具体收获吧!!! Day1-人工智能概述与入门基础 第一天只是学习了一些人工智能的基本的有关知识,然后讲了讲python的基本语法(哈哈,对于刚刚学完python的我,第一 ...
- silklabo哪个公众号有资源_适合新手的公众号投稿资源大整合!
今天又给大家整理了一份公众号投稿资源,这些公众号大部分都是处于发展中的新公众号,虽然稿酬不会很多,但是适合新手们锻炼文笔,过稿率也会高一点哦,大家可以试试. 下面是整理的22个公众号投稿资源,按照稿费 ...
- python大神作品_掌握了这24个顶级Python库,你就是大神!
全文共11815字,预计学习时长24分钟 Python有以下三个特点: · 易用性和灵活性 · 全行业高接受度:Python无疑是业界最流行的数据科学语言 · 用于数据科学的Python库的数量优势 ...
最新文章
- 2018年人工智能将赋能所有行业,未来市场将超过400亿美元
- OpenCV提炼角点位置的实例(附完整代码)
- RabbitMQ消息自动重新入队
- 计算机的组成和Linux的发行版本介绍
- 在Ubuntu下如何压缩一个文件夹
- Android报“android.content.res.Resources$NotFoundException: String resource ID #0x2”错误
- eclipse类文件无法找到_「Revit技巧」新建项目和族时无法找到样板文件(丢失)?...
- Knowledge Graph - NLP
- 读书-算法《程序设计导引及在线实践》-简单计算题3:校门外的树
- C语言打印九九乘法表
- web前端 vue 面试题(一)
- 建立数据挖掘的用户画像
- HDU 5651 xiaoxin juju needs help 组合数
- 无限级树状图html5,无限树状列表的实现
- 扩展欧几里得算法 | exgcd 证明 + 板子 + 习题
- vue run build 错误 CssSyntaxError错误
- 黑客黑了自己!恶意软件开发者不小心感染了自己的 PC,致数据泄漏
- 网站信息收集工具RED_HAWK
- 消息服务器 负载均衡,一文看懂集群、分布式与负载均衡的关系
- Mob 第三方分享
热门文章
- 伯虎点秋香-rqnoj-144
- 三年级上册计算机计划书,三年级上册期末复习计划书
- pbe更新服务器不在线是什么意思,英雄联盟3.6PBE更新内容_英雄联盟3.6PBE更新了什么_快吧游戏...
- python适合开发游戏吗_对编程一知半解,如何带娃像玩游戏一样“玩”编程?
- JVM总结(面试必备)
- fabs()函数以及C ++中的示例
- 如何像打王者荣耀一样让自己拼了命的去学习
- 监听手机端虚拟键盘的弹出和隐藏
- 四十七、python学习之Django框架(DRF框架三):Request与Response、视图与视图集、路由
- wps怎么取消自动编号?四种方法任你选择