C/C++module从Python2升级到Python3

https://docs.python.org/3/howto/cporting.html

发表在 未分类 | 留下评论

C++扩展Python

最近在写一个小项目,需要用到C++ Python扩展功能。

主要用到以下这些功能:

  1.  Python 调用C++的代码
  2. 在C++代码中回调Python代码

官网文档见:https://docs.python.org/3/extending/extending.html#calling-python-functions-from-c

要在Python中调用C++的代码

需要将C++代码编译成动态库(此动态库即Python可用的模块),并且需要按照一定的格式定义需要被Python调用的函数

如下:

假如模块名称为mymodule,则需要按如下格式定义一个名为initmymodu[……]

继续阅读

发表在 Python | 留下评论

Apache2 启用SSL的方法

  1. 几个相关的指令
    (1) a2enmod/a2dismod :enable/disable模块
    (2)a2ensite/a2dissite: enable/disable site
  2. 证书的获取/生成
    因为自己生成的证书是不会被各浏览器信任的,所以推荐使用免费证书,常用的免费证书申请渠道有:
    (a):Let’s Encrypt: https://letsencrypt.org/
    (b):freeSSL: https://freessl.org/
    以freeSSL为例,申请成功后,会产生full_chain.pem private.key这两个文件,分别为证书和私钥文件。
  3. 开启Apac[……]

继续阅读

发表在 未分类 | 留下评论

[面试]计算两个数组元素差值的最大值?

几个月前去某公司面试,面试官问了一个算法题:给定两个整型数组A和B,如何计算两个数组元素之差的最大值?当时估计一紧张就不知道怎么想的,连什么动态规划都出来了。现在想想其实是一个很简单的问题,根本用不到什么动态规划。

思路:

两个数组元素的差,其实对应到数轴上的两点之间的距离,既然这两个点来自两个数组,其实只要其中一个最大,另一个最小,那么这样的两点之间的距离肯定就是最大的。

方法:

一次遍历数组A:找到A的最大值Amax和A的最小值Amin

一次遍历数组B:找到B的最大值Bmax和B的最小值Bmin

计算两个“距离”:

ABS(Amax-Bmin)和ABS(Bmax-Amin)[……]

继续阅读

发表在 算法 | 留下评论

测试

这是一篇测试文章。

发表在 未分类 | 留下评论

Ubuntu php开发环境搭建

1. 安装apache2

sudo apt-get install apache2

安装完毕后在浏览器输入主机IP应看到如下页面:

 

2. 安装mysql

sudo apt-get install mysql-server
sudo apt-get install mysql-client

记住安装过程中设置的密码

安装完毕后可通过命令简单测试是否安装成功

3.安装php

 

sudo apt-get install php5 libapache2-mod-php5

在最新版本安装完成时,可看到

* Restarting web server[......]

继续阅读

发表在 Linux | 留下评论

Python数据类型之set

set(集合)是一个无序不重复元素集,这些元素在集合中是不按顺序存放的,数据类型也不要求相同。

set的基本操作包括:创建、添加、删除、交集、并集、差集等

创建:

添加:

删除:

update方法:将要传入的参数拆分,作为集合的元素,注意传入的参数必须是“可迭代”的(iterable)

传入不可迭代的参数会报错,例如int型

交集、并集、差集:

 

集合的典型应用:可以用于输出list中不重复的元素

发表在 Python | 留下评论

Linux系统进程类型

交互进程:由一个shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。

批处理进程:这种进程和终端没有联系,是一个进程序列。

监控进程(也称守护进程):Linux系统启动时启动的进程,并在后台运行。

发表在 Python | 留下评论

Python字符串format函数

python从2.6开始支持format,一种新的更加容易读懂的字符串格式化方法。

1. 替代旧的%输出

旧的格式化输出方法:

#!/usr/bin/python
name = 'Tom'
age = 18
print '%s is %d years old' % (name,age)

使用format函数格式化输出:

#!/usr/bin/python
name = 'Tom'
age = 18
print '{0} is {1} years old'.format(name,age)

相比于旧的输出方式,字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用[……]

继续阅读

发表在 Python | 留下评论

python递归打印某个目录的内容

以下函数列出某个目录下(包括子目录)所有文件,本文重点不在于递归函数的实现,而是熟悉Python 库os以及os.path一些函数的功能和用法

1. os.listdir(path):列出path下所有内容(包括文件和目录,不包括.和..)

2. os.path.join(path1,path2,path3…):拼接目录,例如将’home’,’test’拼接成’home/test/’

3. os.path.isdir(path):判断path是否为目录

代码如下:

1 #!/usr/bin/python
2 import os
3 def print_dir(sPath):
4[......]

继续阅读

发表在 Python | 留下评论