python 学习
Posted potatoknight
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 学习相关的知识,希望对你有一定的参考价值。
with open("filename") as f: for line in f.readlines(): # do sth with line
删除 setup.py 安装的 Python 软件包
2011年4月3日
在 CentOS 5.5 上通过 setup.py 安装了一个软件包。删除的时候发现 setup.py 没有 uninstall 选项。
在网上找了个简单的方法,2 个步骤可轻松完成卸载:
* 增加 –record 参数重新安装软件包,执行命令:
# python ./setup.py install --record install.txt
* 删除安装文件,执行命令:
# cat install.txt | xargs rm -rf
sudo python ./setup.py install
sudo python ./setup.py install --record install.txt ; cat install.txt | xargs rm -rf
命令行下查看python和numpy的版本和安装位置
1、查看python版本
方法一:
python -V
注意:‘-V‘中‘V’为大写字母,只有一个‘-’
方法二:
python --version
注意:‘--version\'中有两个‘-’
2、查看python安装位置
方法一:
python -c "import sys; print sys.executable"
方法二:
python -c "import os; print os.sys.executable"
python -c "import os; path = os.sys.executable;folder=path[0 : path.rfind(os.sep)]; print folder"
3、查看Numpy版本
python -c "import numpy; print numpy.version.version"
或
python -c "import numpy; print numpy.__version__"
4、查看Numpy安装路径
python -c "import numpy; print numpy.__file__"
python中
a=0
if a: #这个条件为假
xxx
用filter过滤 list 中的某些值
a = [1,1,1,2,3]
如果想把1去掉:
a = filter(lambda x: x != 1, a)
遍历字典dict
a = {1:’a’,2:’b’}
[(k,v) for (k,v) in a.items()]
int最大值
import sys
sys.maxint
解析URL参数
import urlparse
url = \'http://www.x.com/login.html?password=123456&usrname=pan\'
rs = urlparse.urlparse(url)
q = urlparse.parse_qs(rs.query)
print q
查找字符串
a = ‘asdf’
a.find(‘sd’),返回1,字符串从0开始编码
如果没有找到,返回-1
正则表达式
m = re.search("(book)+","mebookbookme")
m.group()
http://www.cnblogs.com/wei-li/archive/2012/05/16/2505503.html
字典按照key或者value排序
cc_diff = sorted(cc_diff.items(), key=lambda (k, v): v, reverse=True)
最后cc_diff是一个(k,v)的list
unicode和utf-8编码
在CentOs上的系统环境是utf-8,但是从互联网上抓取下来的html文本是unicode编码,所以在使用之前全部通过u’some message’.encode(‘utf8)
默认情况下 ‘123’ + u’abc’会报错
一般情况下都是在同一种编码,比如utf-8下进行字符串之前的+操作,如果需要在+操作的时候自动将utf-8转换成unicode的话,可以使用
import sys
reload(sys)
sys.setdefaultencoding(\'utf8\')
python的”main”函数
#hello.py
def foo():
str="function"
print(str);
if __name__=="__main__":
print("main")
foo()
查询类的所有属性
class foo():
a=1
print vars(foo)
数组分片
a = [1,2,3,4]
注意 “:” 是位置的分隔符,x:y代表[x,y)这一段元素,二在numpy中,:代表的是所有的行或者列
a[:]全部元素
a[:3]前3个元素
a[1:3] 第1、2两个元素,所以从0开始
子模块引用上级模块
如果直接运行子模块,需要向sys.path中添加子模块父目录
from os import listdir
from os.path import abspath, isfile, isdir, join, dirname
import sys
file_parts = dirname(abspath(__file__)).split(\'/\')
parent_path = \'/\'.join(file_parts[:len(file_parts)-1])
print parent_path
sys.path.append(parent_path)
当前模块绝对路径
import os
print os.path.abspath(__file__) // 文件绝对路径
print os.path.dirname(os.path.abspath(__file__)) //文件所在目录
文件或者目录是否存在
if os.path.exists(‘/usr/local/bin’)
创建目录
os.mkdir(‘xiachufang/machine_group’)’
命令行参数
import sys
print \'参数个数为:\', len(sys.argv), \'个参数。\'
print \'参数列表:\', str(sys.argv)
测试:
$ python test.py arg1 arg2 arg3
参数个数为: 4 个参数。
参数列表: [\'test.py\', \'arg1\', \'arg2\', \'arg3\']
去掉空白符
a = ‘1 2 3 (tab) 4 ‘
a = re.sub(‘\\s+’, ‘’, a)
找到list中指定元素的下表
a = [11, 22, 33]
a.index(22)返回1
class的成员和对象的成员
test.py中有如下代码:
class Kls(object):
no_init = 0
def __init__(self):
Python学习总结