玖叶教程网

前端编程开发入门

用Python,3天实现文件系统自动“瘦身”

许多人花上数小时点击鼠标和敲打键盘,执行重复的任务,却没有意识到,如果他们给机器正确的指令,机器就能在几秒钟内完成他们的工作。

Python编程之操纵本地目录和文件


前言

OS模块作为一个常用的库,学习一下是非常有必要的。

os模块是Python内置的一个与操作系统交互的模块,它提供了一种使用操作系统相关功能的便捷方法。通过os模块,可以实现许多与文件和目录相关的操作,如文件的创建、删除和重命名,以及目录的创建、删除和遍历等。

57个挑战-43-创建文件名+文件夹

题目如下:


代码如下:

import os

def get_input():
    sitename = input("Site name: ")
    author = input("Author: ")
    jsfolder = input("Do you want a folder for JavaScript?(y or n)")
    csfolder = input("Do you want a folder for CSS? (y or n)")
    return sitename,author,jsfolder,csfolder

def mkdir(dir):
    if not os.path.exists(dir):
        os.makedirs(dir)
        print("Created {0}".format(dir))
    else:
        print("--- There is this folder!---{0}".format(dir))


def name_text(sitename,author,jsfolder,csfolder):
    dir = os.getcwd() + '/{0}/'.format(sitename)
    mkdir(dir)
    filename = dir+'index.html'
    file = open(filename,'w')
    file.write(" <title> {0}    </title> \n <meta>  {1}    </meta> ".format(sitename,author))
    file.close()
    if jsfolder == 'y':
        jsfolder = dir + 'js/'
        mkdir(jsfolder)
    if csfolder == 'y':
        csfolder = dir + 'css/'
        mkdir(csfolder)
    return 0


if __name__ == '__main__':
            sitename,author,jsfolder,csfolder = get_input()
            name_text(sitename,author,jsfolder,csfolder)

如何用 coco 数据集训练 Detectron2 模型?

随着最新的 Pythorc1.3 版本的发布,下一代完全重写了它以前的目标检测框架,新的目标检测框架被称为 Detectron2。本教程将通过使用自定义 coco 数据集训练实例分割模型,帮助你开始使用此框架。如果你不知道如何创建 coco 数据集,请阅读我之前的文章——如何创建自定义 coco 数据集用于实例分割。

Python内置OS模块用法详解

以下文章来源于早起Python ,作者是甜甜呢

大家好,从今天起早起Python将持续更新由小甜同学从初学者的角度学习Python的笔记,其特点就是全文大多由新手易理解的代码与注释及动态演示。刚入门的读者千万不要错过!

爬虫|快手短视频爬取经验分享

作者:冰蓝的天空

原文:http://www.cnblogs.com/binglansky/p/8483096.html

  • 环境: python 2.7 + win10

Python序列_如何做一个图片压缩工具

Python序列_如何做一个图片压缩工具



39. 根据变量的值拆分到不同工作簿

案例导入

如下图,根据“科室”的唯一值将数据拆分到不同的Excel文件,保存路径为“D:/Samples/ch04/01 数据拆分/根据变量的值拆分到不同工作簿”。新文件的名称类似“科室1.xlsx”。

将mp3与mp4进行合并

#encoding=utf-8
'''
pic合成movie
'''
import os
import imageio
from PIL import Image
#encoding=utf-8
import os
import logging
import datetime
logging.basicConfig(level=logging.INFO,format='%(asctime)s - %(name)s -%(levelname)s -%(message)s')
log = logging.getLogger(__name__)

class FileOprate():
    def __init__(self,obsfn,fp,fn,create_time,update_time,access_time,file_size):
        self.obsfn = obsfn
        self.fp = fp
        self.fn = fn
        self.create_time = create_time
        self.update_time = update_time
        self.access_time = access_time
        self.file_size = file_size

def time2str(time):
    return str(datetime.datetime.fromtimestamp(time)).split('.')[0]

def getAllFiles(folder):
    fo_list = []
    for root,folder_names,file_names in os.walk(folder):
        for file_name in file_names:
            file_path = root + os.sep + file_name
            file_stat = os.stat(file_path)
            ct = file_stat.st_ctime
            ut = file_stat.st_mtime
            at = file_stat.st_atime
            fs = os.path.getsize(file_path)
            fo = FileOprate(file_path,root,file_name,ct,ut,at,fs)
            fo_list.append(fo)            
    return fo_list

def suo_tu2(path,save_path,width=224,height=224):
    raw_files = os.walk(path)
    for root,dirs,files in raw_files:
        log.info("遍历图片信息:{}".format(root))
        for file in files:
            pic_path = os.path.join(root,file)
            pic_org = Image.open(pic_path)

            #pic_new = pic_org.resize((width,height),Image.ANTIALIAS)
            pic_new = pic_org.resize((width,height),)
            
            _, sub_folder = os.path.split(root) #得到子文件夹的名字
            pic_new_path = os.path.join(save_path,sub_folder)
            if not os.path.exists(pic_new_path):
                os.makedirs(pic_new_path)
            pic_new_path = os.path.join(pic_new_path,file)
            
            #pic_new_path = os.path.join(save_path,file)
            log.info("pic_new_path:{},pic_new:{}".format(pic_new_path,pic_new.__dict__))
            pic_new.save(pic_new_path)

'''
将图片合成视频
'''
from pathlib import Path
from moviepy.editor import ImageSequenceClip
def image2Movie(src_folder,distFile):
    # src_folder: 来源文件夹的路径
    file_list = list(Path(src_folder).glob('*.jpg'))
    duration_list = [1] * len(file_list) #设置每张图片在视频中显示的时长
    new_video = ImageSequenceClip(src_folder,durations=duration_list)
    new_video.write_videofile(distFile,fps=5)


def test():
    #获取D:\temp\pic下的所有图片
    src_folder = r'D:\temp\pic\srcPic'
    save_path = r'D:\tmp\pic\20230605'
    distFile = r'D:\tmp\pic\20230605.mp4'
    suo_tu2(src_folder,save_path,640,640)
    #image2Movie(save_path,distFile)

import cv2
import os
import moviepy.editor as mov
def image_to_video(image_path,media_path):
    image_names = os.listdir(image_path)
    #对提取的图片名称进行排序
    image_names.sort(key=lambda n: int(n[:-4]))
    #设置写入格式
    fourcc = cv2.VideoWriter_fourcc(*'mp4v')
    #设置每秒帧数
    fps = 1
    #读取第一个图片大小尺寸,因为需要转换成视频的图片大小尺寸是一样的
    image = Image.open(image_path + os.sep + image_names[0])
    #初始化媒体写入对象
    media_writer = cv2.VideoWriter(media_path,fourcc,fps,image.size)
    #遍历图片,将每张图片加入视频当中
    for i in range(3):
        for image_name in image_names:
            im  = cv2.imread(os.path.join(image_path,image_name))
            media_writer.write(im)
            log.info("{}合并完成!".format(image_name))
    #释放媒体写入对象
    media_writer.release()
    log.info("无声视频写入完成!")

# 给视频配置音乐
def set_music():
    #合成视频设置背景音乐函数
    log.info("开始添加背景音乐!")
    #初始化视频文件对象
    clip = mov.VideoFileClip(r'D:\tmp\pic\20230605.mp4')
    #从某个视频中提取一段背景音乐
    audio = mov.AudioFileClip(r'D:\tmp\pic\taohuanuo.mp3').subclip(30,90)
    #将背景音乐写入.mp3文件
    audio.write_audiofile(r'D:\tmp\pic\taohuanuo2.mp3')
    # 想合成好的无声视频中添加音乐
    clip = clip.set_audio(audio)
    #保存视频
    clip.write_videofile('D:\tmp\pic\20230605-2.mp4')
    log.info("背景音乐添加完成!")

from moviepy import *
from moviepy.editor import *
# mp3与mp4合并
def mp3_merge_mp4(mp3,mp4,newmp4):
    #提取音频
    audio = AudioFileClip(mp3)
    #读取视频
    video = VideoFileClip(mp4)
    #将音频合并到视频中
    video = video.set_audio(audio)
    #输出
    video.write_videofile(newmp4)

# 给视频添加标题字幕
from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
def make_title_text():
    video_clip = VideoFileClip(r'D:\tmp\pic\20230605-2.mp4') # 读取视频
    text = TextClip(txt='商洛*望江楼', font='FZBangSXJW.ttf',fontsize=120,color='RED',kerning=10)
    text = text.set_position('center')
    text = text.set_duration(1)
    new_video = CompositeVideoClip([video_clip, text])
    new_video.write_videofile(r'D:\tmp\pic\20230605-3.mp4')

if __name__=='__main__':
    #test()
    '''
    image_path = r'D:\temp\pic\srcPic'
    media_path = r'D:\tmp\pic\20230605.mp4'
    image_to_video(image_path,media_path)
    '''
    #set_music()

    '''
    mp3 = r'D:\tmp\pic\taohuanuo2.mp3'
    mp4 = r'D:\tmp\pic\20230605.mp4'
    newmp4 = r'D:\tmp\pic\20230605-2.mp4'
    mp3_merge_mp4(mp3,mp4,newmp4)
    '''

    make_title_text()

零代码编程:用kimichat将PDF自动批量分割成多个图片

有一个PDF文件,现在想把pdf文件转换成图片,

<< < 3 4 5 6 7 8 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言