Wayde's Blog

知识源于积累


  • 首页

  • 关于

  • 分类

  • 标签

  • 个人收藏

  • 归档

  • 搜索

Python 配置文件解析之configparser模块

发表于 2018-07-13 | 分类于 Python

configparser内置在Python标准库中,用来处理类似Windows ini格式的配置文件。

Py2中该模块名为ConfigParser,Py3中更名为configparser

配置文件语法

配置文件语法如下:

  1. 分隔符支持:和=,如key:value或key=value
  2. 注释支持;和#
  3. *value支持多行
  4. *可以只有key,没有value
  5. *value支持引用

读取配置文件方法

读取配置文件有4种方法:

  1. read方法,参数为文件名或包含文件名的列表

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> import configparser
    >>> conf = configparser.ConfigParser()
    >>> conf.read('config_01.ini') #读取单个配置文件
    ['config_01.ini']

    >>> config_files = ['config_01.ini', 'config_02.ini', 'config_03.ini']
    >>> conf.read(config_files) #读取多个配置文件
    ['config_01.ini', 'config_02.ini', 'config_03.ini']
    >>> conf.sections()
    ['config_01.section', 'config_02.section', 'config_03.section']
  2. read_dict方法,参数为字典

    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> import configparser
    >>> conf = configparser.ConfigParser()
    >>> conf.read_dict(dict(
    ... section1=dict(k11='v11', k12='v12'),
    ... section2=dict(k21='v21', k22='v22'),
    ... section3=dict(k31='v31', k32='v32'),
    ... ))
    >>> conf.sections()
    ['section1', 'section2', 'section3']
  3. read_file方法,参数为文件句柄

    1
    2
    3
    4
    5
    >>> import configparser
    >>> conf = configparser.ConfigParser()
    >>> conf.read_file(open('config_01.ini'))
    >>> conf.sections()
    ['db.account']
  4. read_string方法,参数为字符串

    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> import configparser
    >>> conf.read_string('''[db.account])
    ... host = 127.0.0.1
    ... port = 5432
    ... user = user
    ... password = 123456
    ... database = account''')
    >>> conf.sections()
    ['db.account']
阅读全文 »

Python 运算符及优先级

发表于 2018-06-02 | 分类于 Python

本文主要总结下Python的运算符,以及运算符的优先级。

算术运算符

算术运算符有: +(加)、-(减)、*(乘)、/(除)、%(取模)、**(幂)、//(取整除)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>>> 3 + 2
5
>>> 6 - 3
3
>>> 3 * 2
6
>>> 3 / 2 # Py2中,整数相除,结果只保留整数。
1
>>> 3 / 2.0 # Py2中,被除数or除数有一个浮点型,结果为浮点型。
1.5
>>> 5 % 3
2
>>> 3 ** 2
9
>>> 3 // 2
1
>>> 3 // 2.0
1.0
阅读全文 »

Python 常用进制转换

发表于 2018-05-31 | 分类于 Python

常用进制: 二进制(Binary)、八进制(Octal)、十进制(Decimal)、十六进制(Hexadecimal)。

进制之间关系图:

阅读全文 »

Python SFTP上传本地目录到远程服务器

发表于 2018-05-30 | 分类于 Python

最近有个需求,需要将本地目录上传到远程服务器,保持目录层级关系不变。

马上想到用过的Paramiko模块,但发现Paramiko只支持文件上传,而不支持目录上传。

Paramiko是一个用Python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。

Paramiko支持Linux、Solaris、BSD、MacOS X、Windows等平台通过SSH从一个平台连接到另外一个平台。利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输。

一番尝试实现后,在此记录下,代码如下:

阅读全文 »

Python 线程模块thread和threading

发表于 2018-05-25 | 分类于 Python

线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。

如果对进程、线程概念还不是很了解,建议看下CPU、超线程与进程、线程。

Python的标准库提供了两个模块:thread和threading,前者是低级模块,后者是高级模块。threading对thread进行了封装,绝大多数情况下,我们只需要使用threading就可以了,这也是Python官方推荐。

Python 3中,thread已经更名成_thread。

阅读全文 »

Python 匿名函数、内置高阶函数、偏函数

发表于 2018-05-24 | 分类于 Python

匿名函数 lambda

维基百科定义:

在计算机编程中,匿名函数(英语:anonymous function)是指一类无需定义标识符(函数名)的函数或子程序,普遍存在于多种编程语言中。

Python中的匿名函数就是lambda,这个名称来源于数学中的λ演算。Lambda(大写Λ,小写λ,中文音译:兰布达,是第十一个希腊字母)。

示例:

1
2
3
>>> func = lambda x, y: x + y
>>> func(2,3)
5

上面的func定义等价于:

1
2
3
4
5
>>> def func(x, y):
... return x + y
...
>>> func(2,3)
5
阅读全文 »

Linux tree命令

发表于 2018-05-23 | 分类于 Linux

Linux tree命令用于以树状图列出目录的内容。
执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

当你需要向别人展示或者介绍某个项目的目录结构时,tree命令就可以派上用场了。

不仅仅是在终端显示,tree命令还支持输出xml|json|html格式的数据。

如果你有一个包含大量html文件的目录,需要生成一个树形的index导航,下面的命令就可以解决:

$ tree -H . ./ -T IndexTitle -o index.html

阅读全文 »

Python工具 pip、pyenv、virtualenv、virtualenvwrapper等介绍

发表于 2018-05-19 | 分类于 Python

pip

pip是一个Python语言开发的命令行程序,用来安装、管理Python Package。

常用命令有:

  1. 显示已安装Package列表 pip list
  2. 安装最新版本Package pip install package_name
  3. 安装指定版本Package pip install package_name==3.2.0
  4. 安装不低于某个版本的Package pip install 'package_name>=3.0.0'
  5. 批量安装Package pip install -r requirements.txt
  6. 卸载Package pip uninstall package_name

更多用法请参考Python pip介绍。

PyPI

PyPI全称为Python Package Index,是Python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。

阅读全文 »

Python pip命令介绍

发表于 2018-05-17 | 分类于 Python

pip 介绍

pip是一个Python语言开发的命令行程序,用来安装、管理Python Package。

pip 安装

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

$ python get-pip.py

–no-setuptools 不安装setuptools

–no-wheel 不安装wheel

ubuntu 安装pip3

$ sudo apt-get install python3-pip

阅读全文 »

Markdown 时序图、流程图、甘特图

发表于 2018-05-15 | 分类于 Other

作为一名程序猿,平时少不了要画各种时序图、流程图。

最开始画流程图用的微软的visio,收费而且不好用,稍微复杂点的一调整半个小时过去了…

后面有用过ProcessOn,一款免费在线作图工具,支持实时协作,体验比visio好点,但调整也相当费事。

直到开始用Markdown,才终于不用Ctrl + ↑↓←→了。

推荐用Typora编辑器,已内置插件支持Sequence、Flowchart、Gantt等,只需要开启即可。

如果你用的不是Typora也没有关系,这篇文章有说明它用的哪些JS插件。这些插件都是开源的,有详细的说明文档。有道云笔记是支持Sequence的,估计用的同样的插件,语法几乎一样。

阅读全文 »
12…14
Wayde

Wayde

140 日志
14 分类
112 标签
GitHub StackOverflow Instagram
© 2012–2022 Wayde
粤ICP备2020135844号