关于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) #输入想要随机生成的密码对应大写字母个数,小写字母个数,特殊符号个数,数字个数

输出样例:

根据代码我的随机个数分别是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)

输出样例:

我本地存有心的图片,网上找即可,注意ps成纯色背景

六、简单的小爬虫

# !/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小项目相关推荐

  1. python需要多大的硬盘_适合新手练习的几个python小项目

    关于python练习的小项目,其实就是一些常用的模块的针对练习 一.找出电脑中遗忘的大文件 # !/usr/bin/env python # _*_ coding:utf-8 -*- import o ...

  2. 基于stm32的简单小项目_适合小白做的创业3个小项目,简单上手

    现在每一位为了能够让自己和家人过上更好地生活,都会不满足于现状的单方面地工作,想要通过创业来改变如今的局面,这种想法也是好的,但是我们需要知道想要创业,并不是那么的容易,需要有一定的技能和管理水平才能 ...

  3. python在家创业项目_适合在家里做的互联网创业虚拟项目

    适合在家里做的虚拟项目. 1.民间手工艺品 我们国家有很多民间手工艺品,比如年画.剪纸.风筝.油纸伞.我国的民间手工艺品都有很长的历史,随着社会的发展,移动互联网的兴起,大家对中国美的重新审视,这些手 ...

  4. dt测试软件的学习心得,无线网络优化dt测试心得_适合新手入门,高手进阶_5年项目经验实战经验.docx...

    无线网络优化DT测试心得_适合新手入门,高手进阶_5年项目经验实战经验 无线网络优化DT测试心得_适合新手入门,高手进阶_5年项目经验实战经验 路测中不常见的问题和个人心得 1.深井子镇投诉测试报告 ...

  5. c语言做搬山游戏,C语言实现搬山小游戏,适合新手的项目实战,超易上手!

    原标题:C语言实现搬山小游戏,适合新手的项目实战,超易上手! 问题描述 设有n座山,计算机与人作为比赛的双方,轮流搬山.规定每次搬山数不能超过k座,谁搬最后一座谁输. 游戏开始时,计算机请人输入山的总 ...

  6. Java web小项目_个人主页(1)—— 云环境搭建与项目部署

    摘自:Java web小项目_个人主页(1)-- 云环境搭建与项目部署 作者:丶PURSUING 发布时间: 2021-03-26 23:59:39 网址:https://blog.csdn.net/ ...

  7. python新手练习项目_适合Python 新手的5大练手项目,你练了么?

    已经学习了一段时间的Python,如果你看过之前W3Cschool的文章,就知道是时候该进去[项目]阶段了. 但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? W3Cschool首先有两 ...

  8. 简单且有创意的python作品_适合练手的 14 个Python 小项目,趣味十足!

    掌握一门技术,迅速提升能力,最好方法是通过实践项目,最好是完整且有趣的.分享一本,我认为非常不错的书籍,<Python Playground>,这本书每个章节就是一个完整的小项目. ​​​ ...

  9. 100个python进阶实战小项目(适合新手) 微信撤回查看|抖音批量下载等

    Hi~,各位小伙伴,Python是目前编程语言中的主流语言之一,也是公认最容易入门的编程语言,因为Python语言近几年的火爆,有很多小伙伴都开始学习这门语言. 编程语言学习,最重要的是"多 ...

最新文章

  1. Udacity机器人软件工程师课程笔记(二十七) - 卷积神经网络(CNN)
  2. 【算法与数据结构】汉诺塔问题Java实现
  3. PHP绕过disable_function限制(一)
  4. 如何改android device monitor文件的权限
  5. 个人代码库のC#千千静听 - 桌面歌词 (功能模拟)
  6. python中socket实现代理功能_python实现代理服务功能实例
  7. python场景异常_python-异常
  8. [转]Xshell连接win10 Linux子系统
  9. linux 长连接个数限制
  10. Origin绘制上面和右边边框
  11. 【ActiveMQ】消息生产者自动注入报错:Could not autowire. No beans of 'JmsMessagingTemplate' type found
  12. UI素材|管理系统数字可视化界面
  13. 百度否认退市;微信官方回应「个人影响度报告」;微软公布 C# 9.0 计划 | 极客头条...
  14. html如何实现表格效果,DIV+CSS技术实现类似table表格的效果
  15. 电脑主机启动不了是什么原因
  16. C++小游戏——打方块
  17. java teechart怎么用_TeeChart for Java
  18. 不同计算机的操作码完全相同,单片机课后习题答案
  19. 故事会-设计模式-策略模式
  20. 使用Java API访问HFDS

热门文章

  1. android studio 反编译工具,android studio反编译工具jd-inteIIij
  2. html5移动端底部效果,spring mvc +HTML5实现移动端底部上滑异步加载更多内容分页效果...
  3. 云开发太简单了吧!「72变的云开发」有奖征文领三重好礼!
  4. Jupiter黑客松——IPFS开发者大赛火热报名中!
  5. 大文件下载及视频点播的CDN加速实践
  6. CSS中content和attr的用法
  7. 《盗墓笔记》使用的这套技术,让美术可以在场景中任意使用灯光
  8. 安卓工控主板双网口有什么用途?
  9. 由于没有远程桌面授权服务器可以提供许可证,远程回话被中断
  10. .NET MVC访问某方法后会跳转页面