首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我是如何用10行代码搬运目标图片的?

嗯呢,你没看错,就是教你把一个路径下的所有目标图片搬运到制定路径下。有读者说:小詹你忽悠人吧,要搬运目标图片复制粘贴不就好了嘛,要什么代码,搬砖脑子秀逗了?...但是如果你要的目标图片在某一路径下不同深度的子文件夹中呢?如果该文件夹中各种格式的文件扎堆在一起呢?比如下面这样: ? 如果你要搬运的图片是上边那样存放的呢?如果层数更多更复杂呢?如果图片数量庞大呢?...如果其他格式的文件干扰呢?(不要觉得这现象少见,在处理数据集的时候多少都会遇到的~)复制粘贴效率就不行了吧!别忘了咱们是谁,是改变世界的程序猿啊!...这不,哪怕再复杂,下边用10来行代码轻松搞定~ 说的很有趣很高深似的,其实就是用了Python的两个模块os和shutil罢了,用到其中两个方法,一一道来。...弄明白这两个关键方法,要实现目标图片的搬运就只需要10行代码了~ import os,shutil print('输入格式:E:\myprojectnew\jupyter\整理文件夹\示例') path

1.1K20

我是如何用 Webpack 虐待代码尺寸的 (第三回合)

解释一下, 原因是 im 这个项目希望可以做到平台化, 具体来说就是, 这个项目拆成两个部分, 一部分是基础功能, 比如正常的聊天, 头像, 表情等, 另一部分是定制化的, 比如不同的业务加入不同的卡片...分析 经过项目拆分后可以很明显发现很多公共库出现了两份, 导致整个项目尺寸增大 vConsole 被误打入到代码里 联合编译392K(247K + 145K) ->292K 修改编译方式, 合并到同一个项目...增加了runtimeChunk, 为了固定chunk 的 hash, 减少线上更新带来的加载消耗, 具体不多少, 关于runtimeChunk 的说明就让更专业的人来吧~~ 话说回来 , 问题依然是之前的问题...页面前置代码到达300K+对于移动端来讲已经岌岌可危了, 还是动手精简吧 inline-manifest-webpack-plugin manifest 很小, 没有必要单独请求阻塞后面 js 的加载...减少公共库重复 精简代码 总之, "没有银弹",需要根据实际项目针对分析, 才能找到可优化的点 这里只是抛砖引玉记录了这个项目的优化过程, 希望对各位前端同学有些帮助

47900
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    自动出报表,零代码做驾驶舱,我找到了Excel的顶级替代

    Excel的数据可视化程度不高,都是以表格为主,数据堆砌,很难找到重点,虽然也能插入一些图表,但是灵活度和美观度不够,设置起来也相当麻烦。...所以我就想,有没有办法找到一个软件来替代excel? 在网上遍历了各种工具技术,也请教了公司管数据库的技术同事,基本就是写sql或python,或者直接用报表工具。...前两者属于代码开发,但是我只懂sql,python起点太高,就主攻研究有没有专业的报表工具。找到了企业数据报表领域的“替代品”——finereport,研究并学习了一阵。...整个过程体验下来有很多专业的功能,比传统的Excel要省时省力得多,但是要学习和适应。比如连接数据源,不需要像在SQL数据库中那样写很多代码,直接拖字段。...另外,每次打开20多个Excel我的电脑基本风扇就在呼呼响,所以当时希望有什么脚本能替我把这事给自动干了。 这个在FineReport的使用过程中也找到了替代,刚才有提到可以做填报报表。

    86760

    我是如何用 Webpack 虐待代码尺寸的 (第二回合)

    这个变化还是很大的, 说一下发生的变化,首先index.vue 减小了。 ? base64 从 css 中去掉, 直接使用外部文件, 因为本身这些文件只是一些表情, 显示的时候现加载影响也不大。...重构前 im-sdk 这一部分主要是去除无用代码, 以及简化代码写法, 基本上属于纯代码层面的操作 缩减到了原来的一半, 效果明显....所以简洁的代码也是很好的减少代码尺寸途径 url-loader 将小于8K的文件资源当做 base64直接打包到代码中, 减少细小文件的加载消耗 接下来lodash (?) ?...这就尴尬了, 本来原来只是引入完整包, 现在完整包和独立包都引入了一份, 更大了 (尴尬~~) 原因就是im-sdk 中是按需引入lodash 的, 而外面还是引入的完整包 当然了这里面还包括 webpack...可以无需修改代码写法自动把lodash 变成按需引入, 效果图 ?

    43420

    我是如何用 Webpack 虐待代码尺寸的 (第一回合)

    代码尺寸(gzip 后):666K webpack 版本: 2.7.0 webpack 配置代码就不贴上来了,因为封装过,而且都是很基础的 loader 和plugin,为了功能而加的,后面优化增加的部分再贴...分析 第一次看到这个结果我也是一惊,其实这一版功能都比较基础,发发文字、表情、图片,都是一些简单的聊天必备的东西,居然有这么大的尺寸,肯定是有巨大浪费。...首先看到最大的两块区域 ? lodash 在是个很好用的工具, 但是完整的代码尺寸很大, 代码中只用到了部分工具方法, 却把整个包引入进去, 着实不划算 ? 然后是index.vue ?...26张图片, 每一张平均在20K 左右, 然后转成 base64 此时我的心中无数......奔腾而过~~~~ PS: 查看的过程中还无意中发现代码没有压缩......uglify 对于js 代码压缩的效果还是很强的 lodash 在这个版本没有进行优化, 是因为做了一次重构, 包括通讯 SDK代码重写, 以及项目构建的改造。

    50530

    面试官:怎么删除 HashMap 中的元素?我一行代码搞定,赶紧拿去用!

    背景 大家好,我是栈长。 前些天,栈长给大家分享了两篇有意思的文章: 带了一个 3 年的开发,不会循环删除 List 中的元素,我简直崩溃!! 面试官:怎么去除 List 中的重复元素?...我一行代码搞定,赶紧拿去用! 这两篇文章确实能帮助一大部分人,其中分享的一些实现技巧,编程很多年的高手也不一定用过,不管自己水平多牛,还是多谦虚好学一些,掌握多一点总不是什么坏事。...PS: 这仅是我个人掌握的实现方案,不一定全,也不一定是最优的,欢迎大家分享,杠精勿扰。...entrySet 方法获取元素的集合,然后再进行循环遍历,先根据 Value 值判断要删除的元素,然后再根据 Key 删除元素。...所以说,你身边还有谁不会删除 HashMap 中的元素?把这篇文章发给他吧,让大家少走弯路,少写垃圾代码,共同进步。 你还知道哪些删除技巧?

    1.4K50

    记一道阿里笔试题:我是如何用一行代码解决约瑟夫环问题的

    直到最后剩下一士兵,求这个士兵的编号。 1、方法一:数组 在大一第一次遇到这个题的时候,我是用数组做的,我猜绝大多数人也都知道怎么做。...然后就按照这种方法,不停着遍历数组,不停着做标记,直到数组中只有一个元素是非 -1 的,这样,剩下的那个元素就是我们要找的元素了。我演示一下吧: ? 这种方法简单吗?...思路简单,但是编码却没那么简单,临界条件特别多,每次遍历到数组最后一个元素的时候,还得重新设置下标为 0,并且遍历的时候还得判断该元素时候是否是 -1。...那如果你想跟别人说,我想一行代码解决约瑟夫问题呢?答是没问题的,如下: int f(int n, int m){ return n == 1 ?...告别递归,谈谈我的一些经验 3、一文读懂一台计算机是如何把数据发送给另一台计算机的 4、如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数 5、字符串匹配Boyer-Moore算法:文本编辑器中的查找功能是如何实现的

    81120

    我如何用一行Css代码使谷歌浏览器的数据网格滚动快10倍

    对于此记录,它显示时间主要用于更新图层,如紫色方块中的文本所示,其中表示:Update layer tree: 瀑布图显示, “Update layer tree” 是使滚动变慢的原因。...步骤 3 - 检查这些层 Chrome DevTools 包括大量有用的工具,其中一些工具比其他工具更隐藏。层面板就是这样一个隐藏的宝石,要找到它,你必须点击菜单按钮在DevTools和挑选。...现在,当点击面板时Elements ,我们看到以下信息,首先为完整的网格: 显示所选元素的后代元素计数的实时表达 如上所示,它产生 16,000 + DOM 元素,仅显示 500 行,这有点过分。...单击文档的主体,我们看到: 很多元素! 整页包含 38,000 多个 (!) 元素, 这不是 构建快速 Web 应用方式!...我只是在面板上添加了一行CSS,说明它不会影响页面上其他元素的布局或样式: on the Elements table { contain: strict; } 如这里所示: 就这样

    2.2K10

    面试官:怎么去除 List 中的重复元素?我一行代码搞定,赶紧拿去用!

    问题 上次栈长给大家分享了《带了一个 3 年的开发,不会循环删除 List 中的元素,我简直崩溃!!》,上次也给大家留了个小话题: 怎么去除 List 中的重复元素呢?...虽然两个话题差不多,但实现起来就大相径庭了,废话少说,来看看都有哪些实现方式,这仅是我个人的实现方案,不一定全,也不一定是最优的,欢迎大家拍砖。...复制一个 list2,再循环 List2,判断 list 中的元素的首尾出现的坐标位置是否一致,如果一致,则说明没有重复的,否则重复,再删除重复的位置的元素。...我们知道 Set 是不包含重复元素的,把 List 先装进 HashSet,然后再装回来,这样就保证了元素的不重复。...所以说,你身边还有谁不会删除 List 中的元素?还有谁不会 List 去重的?把这篇文章发给他吧,让大家少走弯路,少写垃圾代码,共同进步。

    1.1K20

    (10月最新) 前端图形学实战: 从零开发几何画板(vue3 + vite版)

    , 并且分享了如何用几何原理和Web Dom生成任意三角形的方式: image.png 如果大家感兴趣可以在 gitee 查看我的具体代码实现: https://gitee.com/lowcode-china...: image.png 如果大家对这一块知识感兴趣的可以参考我实现的代码, 具体代码地址: https://gitee.com/lowcode-china/euryd 接下来我们开始进行比较核心的方案设计...在上一篇文章中已经介绍了如何用 vue3 的组合式函数来实现通用 hooks, 我们接下来要做的就是把 useMouse 获取到的结果加工后让其他组件能使用, 这里我用 vue3 的toRefs 来实现...3.1 移动元素 首先我们需要找到当前要移动的元素, 然后动态改变它的位置, 因为每个元素我都设置唯一的key, 所以当元素被选中的时候我们就可以根据key找到此元素, 并只对该元素进行操作: // 如果有选中的元素..., 并对其绑定操作方法即可实现涂图层管理的常用功能, 比如: 显示隐藏 快捷删除 批量删除 多选 图层移动 切换元素 等等功能, 如 H5-Dooring 中的图层管理面板: image.png 5.

    92220

    layer弹出层详解

    大家好,又见面了,我是你们的朋友全栈君。 前言:学习layer弹出框,之前项目是用bootstrap模态框,后来改用layer弹出框,在文章的后面,我会分享项目的一些代码(我自己写的)。...比如如何用layer打开一个新的网页,content直接为一个网址就可以了,但是在你的项目中,这个网址又是啥??HTML的直接路径? 相对路径??都不是!!...script src="jQuery的路径">script> script src="layer.js的路径">script> script> //弹出一个页面层 $('#test2')....> title – 标题 类型:String/Array/Boolean,默认:’信息’ title支持三种类型的值,若你传入的是普通的字符串,如title :’我是标题’,那么只会改变标题文本;若你还需要自定义标题区域样式...(index); //再执行关闭 封装好的Layer弹出框与关闭layer弹出框的方法(代码周一给出, 现在手头没有代码): 链接参考:https://www.cnblogs.com/0zcl/p/7341984

    5.2K20

    程序员Web面试之jQuery

    jQuery的文件规则,如“jquery-1.4.1.j s”,其中1.4.1是JS文件的版本的版本号。...推荐使用官方的CDN节点,使用代码如下: script src="//code.jquery.com/jquery-1.11.0.min.js">script> script src="//code.jquery.com...但是偶尔也有失灵的时候,故为了提供双保险,可进行判断网络加载CDN失败,则自动加载网站上的JQuery , 示例代码如下: script type="text/javascript" src="http...这个操作者将分离的元素和该元素的动作(函数)。  最后什么样的函数(动作)。 例如在下面的jQuery代码,我们正在设置的文本值为“Hello world, jQuery”。...如何用jQuery对HTML元素事件进行附加? 下面通过2个例子来说明 例子1,选择所有的button元素,在其click事件中,对所有p元素进行toggle。

    2.6K100

    如何使用Self XSS导致账户接管

    我通常,当我真的要寻找漏洞时,我会手动检查任何应用程序,如开放重定向或XSS,以找到其他黑客的非凡工具可能会忽略的参数 所以,当我通过很多不同的终端和模糊通过很多不同的参数,我没有找到任何我感兴趣的东西...,因为该程序是一个4年的老程序,经过很多专业的研究人员测试,但我不知道为什么我真的想找到一个漏洞在这个目标,因为我的朋友Kartik Sharma发现了一个非常酷的存储XSS在这个目标上,这导致大规模的帐户接管...如果你不明白这种行为,让我来解释一下那些没有得到它的人,这是因为regex正在检测特殊字符,如" ' > * />,并删除继续网站选项,一旦它检测到任何特殊字符后/#redirect,这意味着我来到了像死胡同的情况...X-FRAME OPTIONS,这意味着我可以写一个js代码,并将其托管在我的网站上,并进一步利用这个漏洞 :D 没有得到它?...所以,我是这样做的 写了这个javascript代码,并将端点托管在我的服务器上的iframe中,由我的javascript代码控制 html <meta http-equiv

    99510

    loadrunner 脚本录制-录制选项设置HTML-based URL-based Script

    ,即该录制方式不考虑任何用户操作,只考虑客户端发送的请求,注重系统实际做了什么 备注:文本链接(Text Link)即文字方式展示的超链接 Non HTML-generated elements...许多网站页面包含非HTML元素,比如applet, XML, ActiveX或 JavaScript元素。...这些非html元素通常包含或检索它们自己的资源。 1 Record within the current script step 不为每个非HTML资源生成一个新函数。...它列出所有资源作为相关函数如web_url, web_link, and web_submit_data的参数。资源-web函数的参数由EXTRARES进行标识。...URL-based Script 从服务器录制所有的请求和资源。自动化录制每个HTTP资源为URL setp(web_url 语句),或者以表单的形式,如web_submit_data。

    1.3K20

    Vue 3 任意传送门——Teleport

    React 的 Portal 提供了一种将子节点渲染到存在于父组件以外的 DOM 节点的优秀的方案,我理解,Vue 3 中的 Teleport 跟这个其实是类似的 在 Vue2,如果想要实现类似的功能,...” 场景:像 modals,toast 等这样的元素,很多情况下,我们将它完全的和我们的 Vue 应用的 DOM 完全剥离,管理起来反而会方便容易很多 原因在于如果我们嵌套在 Vue 的某个组件内部,那么处理嵌套组件的定位...、z-index 和样式就会变得很困难 另外,像 modals,toast 等这样的元素需要使用到 Vue 组件的状态(data 或者 props)的值 这就是 Teleport 派上用场的地方。...我们可以在组件的逻辑位置写模板代码,这意味着我们可以使用组件的 data 或 props。...[8] 前端应该知道的 HTTP 知识【金九银十必备】[9] 最强大的 CSS 布局 —— Grid 布局[10] 如何用 Typescript 写一个完整的 Vue 应用程序[11] 前端应该知道的web

    1.6K10

    【实测】vueelementUI 的文件上传按钮,如何用selenium来自动化上传?(上)

    实测系列,均为一些现实中的行业内难题难点攻关,算是最干的最有营养的系列了,欢迎收看,一键三连~ 标题的这个问题在之前的学员中有人问过。如何用自动化的手段来实现。...之前在windows的时候,大家尚且会用一些桌面自动化脚本如autoit等来解决那种 系统本身的文件选择框。 而同样的问题出现在mac的时候,就完蛋了。...本节就拿最常见的Vue 和 ElementUI的组合来实现吧~ (在传统的html编写中,上传文件代码的按钮元素为Input type="file" ,所以本质上来说,这个按钮还是一个输入框,所以那时候的人们是直接给这个元素进行...在elementui中文件上传按钮组件为:el-upload 我是直接在elementUI官网复制的demo 代码如下: 大家注意,红圈部分 是本次的重点代码。...我们把代码复制到我们的pycharm中测试: 这里已经有了俩个默认展示用的 文件。

    3.1K20

    现代前端技术解析:现代前端交互框架

    和attribute区别: property通常是指DOM元素对象的(固有)属性,例如style; attribute是指HTML标签的文本标记属性,一般是可见的,如自定义的data-status属性;...的静态方法; 使用事件代理,不要直接使用元素的事件绑定; 尽量使用新的jQuery版本; 尽可能使用链式写法来提高编程效率和代码运行效率 随着AJAX技术盛行,SPA(Single Page Application...数据Model的调用和模板内容的渲染不需要我们主动操作,而是ViewModel自动来触发完成,任何用户的操作也是通过ViewModel的改变驱动的。...对象的某个属性值发生变化时找到与这个属性值相关的所有元素,然后再比较数据变化,如果发生变化则进行Directive指令调用,对这个元素进行重新扫描渲染 只针对可能修改的元素进行扫描 前端数据对象劫持 使用...Virtual DOM的核心实现:创建原始页面或组件的Virtual DOM结构,用户操作后需要进行DOM更新时,生成用户操作后页面或组件的Virtual DOM结构并与之前的结构进行对比,找到最小变换

    1.1K30
    领券