把最后处理完的数据生成一个 excel 文件。这是一个很常见的需求,每次都百度去找很浪费时间。处理 excel 的库太多了。
我们使用 openpyxl

1. 安装 openpyxl

pip install openpyxl

2. 使用它

# 第一步肯定是把包导进来呀
import openpyxl

# 先建一个 workbook
wb = openpyxl.Workbook()

# 然后 active 它,后面用这个 active 对象添加数据
wb_act = wb.active

# 添加数据,使用 append 方法 ,参数是一个 list ,表示excel中的一行数据。
wb_act.append(['row1,col1','row1,col2'])
wb_act.append(['row2,col1', 'row2,col2'])

# 上面我们添加了两行数据,你也可以添加很多行的。

# 然后保存成 excel 文件吧,这时候用 wb 对象的 save 方法保存,参数是文件的名称。
wb.save("../output.xlsx")

Maybe,当你浏览 github 的时候,你可能会发现有些python项目的根目录下有这样一个文件 requirements.txt ,里面描述了此项目使用了哪些扩展包,以及扩展包的版本。就像 js 项目的 package.json ,php 项目的 composer.json。

你可能感觉很不错,这是个优雅的解决方案。于是照猫画虎,在自己的项目根目录下也定义了这样一个文件。回忆了一下用到的包,但是包版本却不知道。

那么,python 就没有一个如 composer 般好用的包管理工具了吗?通过百度一番,找到了答案。其实 requirements.txt 文件是可以命令行生成的。

生成 requirements.txt

在根目录运行:

pip freeze > requirements.txt

通过 requirements.txt 安装

pip install -r requirements.txt

这是由于 mysql 版本太低造成的,你升级一下mysql就行

但是,有更省事的操作。

给 appServiceProvider 的boot 方法里添加

\Schema::defaultStringLength(191); 

这就搞定了,发个博客,方便以后复制粘贴。。。

项目开发完给群里朋友看的时候,被指出 “信息都输出到控制台了!!!”

在开发过程中忘记注释console.log 怎么才能高速的全部注释了,高效又准确?

当然是正则表达式

处理思路:

  1. 第一种情况: 一般在 console 前面有空白字符(空格,换行,制表符)
  2. 第二种情况: 在行首直接出现console
  3. console 前面不能有 //
  4. 不能匹配到 console 。因为我们要注释它而不是删除。
  5. 那么,就匹配console前面的一个空格吧。不能用 s ,替换了换行符,代码就不好看了

综上,得出正则表达式

(?<!//.*)( |^)(?=console\.log)

匹配到的结果:

image-20200328211604325.png

正则解释

(?<!//. ) 表示左边不能有 // 其中 . 是匹配除了‘换行’的任意内容, 相当于 {0,} 表示匹配0次到无穷大次。

( |^) 其中 | 的左边是个空格,右边的^ 表示‘行开头’。整体的意思就是匹配空格或者行开头

(?=console\.log) 表示右边是 console.log

最方便好用的 linux 操作系统,我觉得应该是 ubuntu

安装 php 扩展一直是个比较难搞的活

一般流程是,从官网下载 php 源码,解压,找到扩展,用 phpize 编译。你得清楚 php 的位置

那么 ubuntu 下的步骤呢

apt install php-pear

pecl  install 扩展

最后设置下 php.ini 就完事了。。。

比如在Ubuntu里安装 mcrypt 扩展

pecl install mcrypt

然后在 /etc/php/7.2/cli/conf.d/ 里添加 mcrypt.ini 文件。文件内容如下

extension=mcrypt.so

保存。完事