【学习笔记】python自动化办公(1)

原视频:B站 BV1qa411c7tb 16-24
计算机的函数概念
函数:内置函数、标准函数库

import math
a=math.sqrt(2)
print(a)
from math import sqrt
b=sqrt(2)
print(b)
import random
a=random.randint(0,6)
#生成0到6之间的整数
print(a)

函数的定义

def hello_user(user_name):
	print("hello "+user_name)

hello_user("ZhangSan")
def test_grade(name,grade):
	print(name+'的成绩是'+grade+'。')

test_grade('张三','87')
def add(a,b):
	sum=a+b
	return sum

value=add(4,8)
print(value)

dog_x=0
cat_x=0

def dog_move():
	global dog_x
	dog_x=dog_x+10

def cat_move():
	global cat_x
	cat_x=cat_x+10

user_input=input()

if user_input=="move":
	print('dog:{},cat:{}'.format(dog_x,cat_x))
	dog_move()
	cat_move()
	print('dog:{},cat:{}'.format(dog_x,cat_x))

命名类时要单词首字母大写,用驼峰命名法

class Animal():
	def __init__(self):
		self.x=0

	def move(self):
		self.x=self.x+10

dog=Animal()
cat=Animal()

user_input=input()
if user_input=="move":
	dog.move()
	cat.move()
	print('dog:',dog.x)
	print('cat:',cat.x)
class Student:
	def __init__(self,name):
		self.name=name
	def say_hi(self):
		print("Hi!I'm {}".format(self.name))

lilei=Student('lilei')
lilei.say_hi()

zhangsan=Student('zhangsan')
zhangsan.say_hi()

OS模块
python标准库
和操作系统有关的操作
创建、移动、复制文件和文件夹
文件路径和名称处理
https://docs.python.org/zh-cn/3/library/os.html

import os
print(os.getcwd())
print(os.listdir())

/斜杠
\反斜杠

import os
print(os.path.join('MyProjects','AI'))

scandir方法返回了一个DirEntry迭代器对象

import os
for file in os.scandir():
	print(file.name,file.stat())

在这里插入图片描述
st_size 文件大小(单位:bytes)

import os
for file in os.scandir():
	print(file.name,file.stat().st_size)

st_atime:文件的最近访问时间
st_mtime:文件最近修改时间
st_ctime:windows下表示创建时间
st_birthtime:Mac/linux下表示创建时间

import os
import time 
for file in os.scandir():
	print(file.name,time.ctime(file.stat().st_atime))

编写python程序,要求
1.找出当前目录下所有非文件夹的文件
2.统计其中包含有“python”单词的文件数量
3.不区分大小写,即大写和小写包括在内
4.输出文件数量

import os
pythonfile=0
for file in os.scandir():

	if file.is_dir()==0:
		print(file.name)
	str1=file.name
	str1=str1.lower()
	if str1.find("python")!=-1:
		pythonfile=pythonfile+1

print(pythonfile)

遍历、搜索文件及查询文件信息
把文件夹下的所有文件都找出来
os.walk(指定的绝对路径或相对路径)

import os

for dirpath,dirname,files in os.walk('./'):
	print(f'发现文件夹:{dirpath}')
	print(files)

.startswith()和.endswith()
在这里插入图片描述
判断字符串是否由txt结尾,以a开头

import glob
print(glob.glob('*.txt'))

*匹配所有
?匹配任何单个字符

用之前所学的知识写

import os
for file in os.scandir():
	if (file.is_dir()==0)&(file.name.find('.py')!=-1):
		print(file.name)

把隐藏在文件夹多层下面的文件都找出来

import glob
print(glob.glob('**/*.txt',recursive=True))

用**表示任意层文件或文件夹
recursive=True会不断进入文件夹内

fnmatch模块
用来匹配文件名

在这里插入图片描述
datetime模块

import datetime

that_time=datetime.datetime.fromtimestamp(1627764428)
print(that_time)

编写python程序,要求
1.搜索整个文件夹,包括文件夹内的所有文件夹
2.筛选体积大于100M的压缩包zip文件(我实际为小于2B的txt)
3.筛选这些文件中日期早于自定义前的
4.输出这些文件的路径

import os
import time

compare_time="2021-9-15 15:15:15"
compare_time_list=time.strptime(compare_time,"%Y-%m-%d %H:%M:%S")
compare_time_nuix= int(time.mktime(compare_time_list))
#print(compare_time_nuix)

for dirpath,dirname,files in os.walk('./'):
	for file in os.scandir(dirpath):
		if (file.stat().st_size>2)&(file.name.endswith(".txt"))&(file.stat().st_atime>compare_time_nuix):
			print(dirpath,file.name)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值