highlighter

python-docx 使用教程

最后都变了- 提交于 2020-04-11 07:33:40
快速入门 入门 python-docx 很容易。让我们来看一下基础知识。 官方文档地址请点击 打开文档 你需要的第一件事是工作的文档。最简单的方法是: from docx import Document document = Document() 这将打开一个基于默认“模板”的空白文档,您可以打开并使用现有的Word文档的工作 python-docx ,我们会让事情变得简单。 增加一段 段落是Word的基础。它们用于正文文本,但也用于标题和列表项目(如项目符号)。 这里是添加一个最简单的方法: paragraph = document.add_paragraph('Lorem ipsum dolor sit amet.') 此方法返回对段落的引用,新添加的段落在文档的结尾。新的段落引用被分配给 paragraph 在这种情况下,我将要离开了这一点在下面的例子中,除非我有一个需要它。在你的代码中,通常你不会对项目做任何事情,在添加它,所以没有什么意义,保持引用它挂在周围。 还可以使用一个段落作为“光标”,并在其上直接插入一个新段落: prior_paragraph = paragraph.insert_paragraph_before('Lorem ipsum') 这允许将一个段落插入到文档的中间,这在修改现有文档时通常很重要,而不是从头开始生成。 添加标题

Java并发编程:volatile关键字解析

北战南征 提交于 2020-04-10 18:03:22
Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。   volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volatile关键字的场景。   以下是本文的目录大纲:   一.内存模型的相关概念   二.并发编程中的三个概念   三.Java内存模型   四..深入剖析volatile关键字   五.使用volatile关键字的场景   若有不正之处请多多谅解,并欢迎批评指正。   请尊重作者劳动成果,转载请标明原文链接:   http://www.cnblogs.com/dolphin0520/p/3920373.html 一.内存模型的相关概念   大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题

phpstorm, webstorm debug调试JS

╄→гoц情女王★ 提交于 2020-04-10 14:27:37
第一步:给你的 Chrome 添加 JetBrains IDE Support 的插件,需要翻墙,就是下图的这个。 第二步:我们把项目跑起来,也就是运行命令,我这边是 yarn run start    第三步:打开 Webstorm(Phpstorm) 的运行窗口,点击 Edite Connfigurations 添加一个JavaScript Debug name可以自定义,URL根据自己实际情况,(我这边没有在下面的 Before launch:Show this page,Activate tool window 这一栏里添加这个项目 npm start 或者 yarn start 的启动脚本,一定要先启动项目,然后在点虫子按钮) 需要设置的话,配置如下,具体命令和package.json根据实际情况配置 浏览器的配置,点击后就后开启监控 点小虫虫开始debug,谷歌浏览器会弹出一个独立的浏览器页面用于调试 重点来了,有时候你在编辑器的代码可能断点不了,可以用console.log()打印,然后在浏览器点进源码进行断点,触发时会自动联动到编辑器 来源: oschina 链接: https://my.oschina.net/u/4374544/blog/3227795

Spring2——特殊值的注入问题、自动装配、使用注解定义bean

徘徊边缘 提交于 2020-04-10 14:23:38
特殊值的注入问题: 给对象类型赋值null: <property name="name"> <null/> </property> 赋空值“” <property name="name"> <value></value> </property> 注意:在ioc容器中定义bean的前提:该bean的类必须提供无参构造。 自动装配(只适用于引用类型): 约定优于配置。 自动装配:autowire="byName|byType" byName: 自动寻找bean的ID值等于类的属性名; byType: 自动寻找其他bean的类型是否与该类的ref属性一致。 (注意:当前ioc中只能有一个bean满足条件) constructor: 其他bean的类型是否与该类的构造方法的参数类型一致。 可以在头文件中一次性将该文件中bean设置为自动装配。 <?xml version="1.0" encoding="UTF-8"?> default-autowire="byName"> 使用注解定义bean: 通过注解的形式将bean以及相应的属性值放入ioc容器。 <!--配置扫描器--> <context:component-scan base-package="org.ghl.dao"> </context:component-scan> 扫描对应的包看是否有注解——@Component(

【学习笔记】Python科学计算三维可视化(黄天羽、嵩天)(学习中。。)

ぃ、小莉子 提交于 2020-04-10 14:22:09
0 导学 目的: 掌握利用三维效果表达科学和工程数据的能力 传播一种思想: 可视化技术是数据之眼 内容组织: 流体数据的标量可视化、矢量可视化实例 三维扫描数据(模型/地形)可视化实例 三维地球场景可视化实例 曲线UI交互控制可视化实例 1 基础运用 科学计算可视化的主要方法: 二维标量数据场:颜色映射法、等值线方法、立体图法和层次分割法 三维标量数据场:面绘制方法、体绘制方法 矢量数据场:直接法(箭头、线段、色轮等手段表示矢量数据)、流线法 应用领域:地球科学、大气科学、医学/生命科学、生物/分子科学、航空/航天/工业、化工/化学、物理/力学、人类/考古、地址勘探等 1.1 TVTK入门 TVTK库是在标准VTK库之上用traits进行了封装,因此可以查看VTK库文档 https://vtk.org/doc/nightly/html/annotated.html TVTK库中类名去除了前缀vtk 函数名按照Python惯例,采用下划线连接单词,如AddItem->add_item VTK对象的方法在TVTK中用Trait属性替代,例如VTK中m.SetInputConnection(c.GetOutputPort()),TVTK中m.input_connection(c.output_port) 安装: conda install vtk conda install numpy

使用van-tabbar底部导航栏,会覆盖页面内容解决方法

好久不见. 提交于 2020-04-10 14:11:42
移动端使用vant的时候,有时候会把导航栏放在页面底部,这个时候我在布局页面使用了van-tabbar组件,使用效果很好 但是页面比较长的时候,这个组件会覆盖掉一些页面的内容,这个时候,可以使用一个简单的方法来解决,如下 <div style="height: 5rem;"></div>   嗯,就这么简单,具体布局情况可以根据实际需求自己调整一下 嗯,就酱~~ 来源: oschina 链接: https://my.oschina.net/u/4341499/blog/3227770

力软敏捷框架 jfGrid 使用例子之一

孤者浪人 提交于 2020-04-10 11:23:27
百度了下关于力软敏捷框架 jfGrid的教程,基本没有,出来的全是jqGrid。好吧看来只能自己上手了 今天来讲讲列设置属性里数据格式化事件(formatter)的使用 常规的使用方式如上图所示。 先来说说各个参数的意思: cellvalue 当前单元格的数据值,也就是你赋的值是什么就是什么。 row 是当前行的值,这个能获取当前行的各个列的数据。 op 是当前jfGrid初始化的时候所有的设置数据值,就是 $('#id').jfGrid(op) 中的op。这个参数基本用不太到,至少我使用里是这样的。 $cell 单元格的dom 对象,这个就比较有用了,我的很多功能都可以通过它来实现。比方说上图中的例子也可以写成 formatter:function(cellvalue,row,op,$cell){ if(cellvalue){ $cell.text(cellvalue); } else{ $cell.html('<span class=\"label label-danger\">未使用</span>') } } 两个效果是一样的。 通过$cell 还可以来改变单元格的颜色和字体的颜色,比方 $cell.css('background-color','red') / $cell.css('color','red') 最后实现一个设置操作按钮的方法 formatter:

关于 Vue 中 我对中央事线管理器(enentBus)的误解

时光总嘲笑我的痴心妄想 提交于 2020-04-10 11:23:13
由于这段时间公司比较闲,就对vue 中的一些模糊的点做了一些加强,突然就想到了常挂在嘴边兄弟组件传值 我理解的兄弟组件的传值是可以路由由传值的,比如我从 http://localhost:8080/ login 里面的值可以传递到 http://localhost:8080/home 这个页面的 于是我是www.baidu.com 了一番,没错,跟我想象一样的,可以进行页面传值, 于是呼我就跟着百度一番操作 像这样: 于是我建了一个 bus.js import Vue from 'vue' export const EventBus = new Vue() 像这样: 于是我在我的 login.vue 里面绑定了一个 $emit import { EventBus } from '../../bus' clickLgin() { console.log(EventBus) EventBus.$emit('add', '123456789') }    像这样: 于是我在我的home.vue 添加 $on    import { EventBus } from '../../bus' created() { EventBus.$on('add', target => { console.log(target, '222') }) }      到这儿该结束了,可以愉快的拿到 login

力软敏捷框架 jfGrid 使用例子之一

早过忘川 提交于 2020-04-10 10:03:46
百度了下关于力软敏捷框架 jfGrid的教程,基本没有,出来的全是jqGrid。好吧看来只能自己上手了 今天来讲讲列设置属性里数据格式化事件(formatter)的使用 常规的使用方式如上图所示。 先来说说各个参数的意思: cellvalue 当前单元格的数据值,也就是你赋的值是什么就是什么。 row 是当前行的值,这个能获取当前行的各个列的数据。 op 是当前jfGrid初始化的时候所有的设置数据值,就是 $('#id').jfGrid(op) 中的op。这个参数基本用不太到,至少我使用里是这样的。 $cell 单元格的dom 对象,这个就比较有用了,我的很多功能都可以通过它来实现。比方说上图中的例子也可以写成 formatter:function(cellvalue,row,op,$cell){ if(cellvalue){ $cell.text(cellvalue); } else{ $cell.html('<span class=\"label label-danger\">未使用</span>') } } 两个效果是一样的。 通过$cell 还可以来改变单元格的颜色和字体的颜色,比方 $cell.css('background-color','red') / $cell.css('color','red') 最后实现一个设置操作按钮的方法 formatter:

git免密push方法

半城伤御伤魂 提交于 2020-04-10 09:10:28
方法1 -- ssh方式 借助ssh协议,第一次输入后,以后均不需要输入。应该内置了ssh-copy-id功能。 方法2 -- HTTPS方式 https://beginor.github.io/2014/03/04/git-client-save-user-pass.html Git 每次进行 Pull 和 Push 操作时都要输入用户名和密码, 非常不便。 虽然有客户端 SmartGit/HG 以及 TortiseGig 可以帮你记一下客户端, 但是每个代码库都要记录一次, 如果项目包含很多个 submodule 的话, 用起来也有些不方便。 经过一番搜索, 最终找到了让 git 客户端记住密码的方法, 现总结如下: Linux/Unix/Mac 系统 新建一个 ~/.netrc 文件, 将 git 服务器, 用户名以及密码记录在这个文件, 如下所示: machine your-git-server login your-username password your-password 如果有多个 server 就重复上面的三行, 分别输入对应的服务器、 用户名和密码即可; ~ 表示用户主目录, 如果你的用户名是 zhang , 那么 ~ 对应的目录是 /Users/zhang 。 https://comeandtechit.wordpress.com/2016/10/18