编程基础之Python语言

首选编程语言
廖雪峰的Python教程

一、安装与配置

1、手册:在线官方文档(在线或下载离线参考皆可,安装软件后本地也自带手册)

2、The Python Tutorial

3、IDE环境:初学用python自带IDE,提高用PyCharm(社区版是免费的),也可以用Sublime或Atom配置(还可以写Markdown)
PyCharm
Python 集成开发工具,PyCharm 安装教程,包含注册码

官方下载页面 #将近200M的包,暂时放弃,等编程水平高一点再说吧!
Windows10 配置sublime text编辑器,用于python集成开发环境:
缺省安装python与sublime text,就可以直接使用集成环境编写python了,具体配置文件位置:

从sublime text的安装目录找到packages目录,例如:“C:\Program Files\Sublime Text 3\Packages”

找到压缩包“Python.sublime-package”,其中的“Python.sublime-build”一般已经配置好了。

问题:sublime text菜单“Preference->browse packages”打开的目录是放置用户自定义“build system”菜单的?

二、语法

1、元组(tuple)、列表(list)、字典(dictionary)、序列(集合?)的差异

数据定义:元组用小括号,列表用方括号,字典用大括号

数据引用:元组用方括号,列表用方括号,字典用方括号

数据修改:元组不能修改,列表可以修改

问题:元组、列表数据的类型必须一致吗?

习题1、用列表(List)、元组、字典计算1~100的和

print(sum(list(range(1,101))) #列表实现

习题2、同一目录下简化重复的文件命名

比如文件名“《Fearless》专辑 [Taylor Swift] Jump Then Fall.ape”,统一删除““《Fearless》专辑 [Taylor Swift] ”

思路:

1、列出目录中的文件名到列表1,并复制到列表2

2、将列表2中的目录名清理空格,统一转换为小写 #删除字符串中不需要的字符 这个网址手册很棒

3、统计列表2重复的字符,输出文件名简化方案,待用户确认

4、用户如果确认,更改文件名,并输出到日志文件(更改前的文件名对应更改后的文件名)

import os

os.chdir(‘f:\baidunetdiskdownload\2008-fearless’) #会提示错误!估计是目录名太长了? 转到f盘根目录,注意需要两个反斜杠,例如:os.chdir(‘f:\‘)

os.listdir(os.getcwd())
很Low的代码:
import os

cleardir=’2008-fearless’

clearstr1=’[《Fearless》专辑]’

clearstr2=’[Taylor Swift]’

list1=os.listdir(cleardir)

list2=list1

i=1

for namelist in list2:

namelist=namelist.replace(clearstr1,’’)

namelist=namelist.replace(clearstr2,’’)

namelist=namelist.replace(‘ ‘,’’)

print(i,namelist)

i=i+1
问题:
关于目录、文件的函数,在语法书中涉及很少,在实际应用中,是不是需要直接看os模块呢?那些相关的模块在哪个目录中呢?

Wordpress代码块支持python的Tab字符吗?
实践1:批量改名
proe批量解密文件批量改名问题:

解密文件名自动增加“解密副本”,如果有几百个解密文件,proe无法检索,用python编程解决。

需要补充代码:
Python常见文件操作的函数示例
Python获取指定文件夹下的文件名

实践2:搭建网站

a、用python命令实现内网web服务器:

python -m http.server -8000 //python 3版本,缺省是8000端口

手机用Termux也可以,但ip是10开头的,不是公网ip地址,无法实现手机临时网络,否则可以实现手机与电脑通过web传输文件了!看来需要通过内网穿透了,但如何通过家里的路由器或者vps实现呢?

在linux shell下或者Windows CMD下运行没有问题,但在python shell下会提示错误:

File “<stdin>”,line 1

SyntaxError:invalid syntax

问题:

1、如何测试这个web服务器的性能,似乎响应很慢

2、hexo建立内部网站如何实现?虚拟机是不是更好,用vmware还是docker好?
问题:以上方法在树莓派上无效,提示“No module named http”

b、用lighthttpd搭建网站

1、具体步骤待补充
树莓派上搭建基于Python+web.py+fastcgi+lighttpd的网站

实践3、Netgear R7000 安装python

我的路由器刷了小宝梅林固件,偶尔在华硕笔记本上用’python -m http.server –cgi 8000’ 开启网站,并在路由器中设置端口转发,发现外网能够成功访问,端口转发配置如下:

服务名称:HTTP Server

通信端口范围:8000

本地 IP:192.168.1.165

本地通信端口:8000

通信协议:TCP
于是想在路由器上试验python一行启动网站,实现长期运行,却发现没有python,加上昨天发现小宝梅林固件也没有netstat命令,感觉需要研究小宝梅林固件添加linux软件功能。

在华硕原版固件merlin版安装goagent等功能

[教程] 改版梅林下把entware和软件中心装入U盘,从此刷机不怕丢应用

附录

《Python编程:从入门到实践》

知乎推荐首选,入门语法书籍推荐:Eirc Matthes

竟然没有目录、文件名操作介绍
Python核心编程 第3版 中文版
进阶语法书籍,mebook.cc网站可以下载到mobi版本,英文版在网络上也很好找
《Python核心编程(第2版)》
Python 2内容,过时了,不推荐
《流畅的的Python》
进阶书籍,我注册了http://www.wode5.com,下载了mobi版本
《Python学习手册(原书第4版)》
从mebook.cc下载,翻译及其糟糕,原书废话也较多