Web服务器Python CGI最快部署实践

配置:Ubuntu 14.04 Apache 2 Python 2.7

Step 1:

/etc/apache2/enabled-mods下创建/etc/apache2/available-mods/cgi.load的软链接

Step 2:

service apache2 restart

Step 3:

whereis cgi-bin

确定cgi-bin目录位置

Step 4:

赋予cgi-bin目录权限

Step 5:

Python脚本中

import cgi
form=cgi.FieldStorage()
VALUE_NAME=form.getvalue('VALUE_NAME')
……

Note:Get方法和Post方法在Python脚本端处理方法完全一致

推荐软件目录

压缩软件:7-zip官方网站2345好压就是个渣渣
该压缩软件为开源软件,无捆绑,不收费,不修改浏览器主页

多媒体软件:PotPlayer官方网站喜欢弹窗广告的装暴风好了
之所以笼统的说是多媒体软件,是因为,这货,能放音乐,放视频,录视频,截取声音,连续截图,看直播,看摄像头,看模拟信号电视,连采集器……完全免费,无捆绑如果一定要说附带安装的解码器算是捆绑软件的话,无广告。当然代价就是,软件界面相比国内友厂有那么点干练。

乐谱制作软件:MuseScore官方网站
又是一个开源软件,更难能可贵的是,软件界面还不错,Free as always.

浏览器:Microsoft Edge 或者 Google Chrome
Edge完美支持HTML5的所有特性,而且又足够愚蠢地配备了最强的安全措施;Chrome,你能想见,点开一个离线安装包,没过几秒几乎是最好的浏览器就能用了吗?

继续阅读“推荐软件目录”

Web服务器简单部署(LAMP)

凡是在国内的服务器,只要是用于Web,都要备案,不然工信部查到就关。但不知道会不会被查水表。
凡是免费的服务器,只要是点击就送,没广告,都是假的。也不想想哪怕一台60w的服务器跑一年电费得多少
继续阅读“Web服务器简单部署(LAMP)”

Python 频谱分析核心代码

Python 3.5
Dependence:numpy,scipy,matplotlib,wave

import numpy as np
from scipy import signal
import matplotlib.pylab as plt
import wave
import matplotlib.animation as animation

f=wave.open(r".\demo.wav","rb")
params = f.getparams()  
nchannels, sampwidth, framerate, nframes = params[:4]
str_data  = f.readframes(nframes)  
f.close()
wave_data = np.fromstring(str_data,dtype = np.short)  
wave_data.shape = -1,2  
wave_data = wave_data.T  
time = np.arange(0,nframes)*(1.0/framerate) 


'''
    至此音频信号已转换为序列
    wave_data 音频信号序列
    time 时间序列(sec)
    framerate 采样率(Hz)
    nchannels 信道数量
'''


fig = plt.figure() 
axes1 = fig.add_subplot(111)
fs=framerate
dat=wave_data[0]/65536.0
intervals=0.05 #second
divide=256
index=0
f, Pwelch_spec = signal.welch(dat[index:index+divide], fs,scaling='spectrum')
line, = axes1.plot(f,Pwelch_spec)
axes1.set_ylabel('dB')
axes1.set_xlabel('f (Hz)')
def update(data): 
    line.set_ydata(data)
    ymin,ymax=axes1.get_ylim()
    axes1.set_ylim(-20,0)
    axes1.set_xlim(np.min(f),np.max(f))
    axes1.figure.canvas.draw()
    return line, 
def data_gen():
    global index
    while (index+divide