Python3错误、调试和测试

错误处理

  • try
try:
    print('try...')
    r = 10 / 0
    print('result:', r)
except ZeroDivisionError as e:
    print('except:', e)
finally:
    print('finally...')
print('END')

Java / C开发人员应该知道的三个JavaScript怪癖

JavaScript可能是一种欺骗性的语言,并且可能会造成极大的痛苦,因为它不是100%一致的。众所周知,它确实存在一些不好的,令人迷惑的或冗余的功能:臭名昭著的with语句隐式全局变量不稳定的比较可能是最著名的。

JavaScript是历史上最成功的火焰生成器之一!除了它所存在的缺陷(在新的ECMAScript规范中部分解决了这些缺陷)之外,大多数程序员都讨厌JavaScript的原因有两个:

  • 他们错误地认为DOM等同于JavaScript语言,该语言具有相当糟糕的API。

  • 它们来自C和Java等语言的JavaScript。他们被JavaScript的语法迷住了,以为它的工作方式与那些命令式语言的工作方式相同。这种误解将导致混乱,沮丧和错误。

因此,通常JavaScript的声誉比其应有的差。

在我的职业生涯中,我注意到了几种模式:大多数具有Java或C / C ++背景的开发人员所使用的语言功能在JavaScript中都假定相同,而又完全不同。

本文收集了最麻烦的文章,将Java方式与JavaScript方式进行比较以显示差异,并重点介绍JavaScript的最佳实践。

Python3 IO编程

文件读写

读文件:read()会一次性读取全部内容

  • with 和 try...catch一样,更简介,自动调用close方法
with open('/path/to/file', 'r') as f:
    print(f.read())

如何在Mac上执行一行命令,同时运行多个Python脚本?

目前有4个Python脚本,打算使用一条命令,同时执行这4个脚本,如何操作呢?
我目前采用的办法比较简陋,使用了5个shell脚本来实现,不知道还有没有更好的方法。

shell脚本runAll.sh

#!/bin/bash
ls
open -a Terminal.app run17688821.sh
open -a Terminal.app run49763693.sh
open -a Terminal.app run857413.sh
open -a Terminal.app run856853.sh

Python3正则表达式

re模块

s = r'ABC\-001' # Python的字符串
# 对应的正则表达式字符串不变:
# 'ABC\-001'

判断正则表达式是否匹配

>>> import re
>>> re.match(r'^\d{3}\-\d{3,8}$', '010-12345')
<_sre.SRE_Match object; span=(0, 9), match='010-12345'>
>>> re.match(r'^\d{3}\-\d{3,8}$', '010 12345')
>>>

如何在Home Assistant里面安装HACS

如果是虚拟机环境(Home Assistant OS)

1.转到Supervisor面板
2.安装一个SSH附加组件(需要在用户个人资料中启用高级模式
3.配置所选的SSH加载项
4.启动SSH附加组件
5.连接到SSH附加组件
6.运行HACS安装脚本

wget -q -O - https://hacs.xyz/install | bash -

Centos 7.4 NFS自动挂载

触发式自动挂载

用户登录时自动挂载NFS共享目录/home/share到本机/mnt/share

yum install -y autofs
vi /etc/auto.master
/mnt /etc/auto.conf(这个配置文件本身就没有要自己创建)
vi /etc/auto.conf
share  192.168.1.22:/etc/letsencrypt/live/margrop.net-0001/(nfs服务器上共享文件)
service autofs restart