Press "Enter" to skip to content

Tag: python

几个python入门脚本

#!/usr/bin/python
#Filename: 1.py
i=5
print i

i=i+1
print i

s='welcome to my home!\nI will intorduce my family to you!'
print s,i

length=6
width=5
area=width * length
print 'The Area is', area
print 'The perimeter is', 2 * (length + width)

for a in range(2, 9):
    print a
else:
    print 'The loop is over!'
1 Comment

python的FTP模块

python本身自带一个FTP模块,可以轻松实现FTP的上传,下载等操作。下面来看看用法:

from ftplib import FTP
import socket    #用来设置超时时间
FTP.connect(服务器地址,端口,超时时间)      # 连接服务器
FTP.login(用户名,用户密码)        # 用户登录
FTP.pwd(路径)                    # 读取操作路径
FTP.cwd(路径)                    # 设置要操作FTP文件夹路径
FTP.nlst()			# 获得目录下文件
FTP.retrbinary(文件名, 回调函数) 	# 下载FTP上的文件
FTP.delete(文件名)            	# 删除FTP文件
FTP.storbinary(文件名, 文件对象 [,块大小]) 	# 上传FTP文件
FTP.quit()                  	# 退出FTP服务器
FTP.set_pasv(boolean)           # 是否设置为被动模式

FTP.rename(old, new)            # 重命名
FTP.delete(path)                # 删除文件
FTP.mkd(directory)              # 创建目录
Leave a Comment

python读写文件

首先看一个例子:

f = open('thefile.txt','w')    #以写方式打开,
try:
    f.write('wokao')
finally:
    f.close()

文件的打开方式:
f = open(‘文件’,’mode’)
‘r’:只读(缺省。如果文件不存在,则抛出错误)
‘w’:只写(如果文件不存在,则自动创建文件),此时无法调用f.read()方法,且当调用f.write()时,将清空文件原有内容
‘a’:附加到文件末尾
‘r+’:读写
如果需要以二进制方式打开文件,需要在mode后面加上字符”b”,比如”rb”,”wb”等

Leave a Comment

python调用shell脚本

os.system(command) 返回command命令的退出状态。这实际上是使用C标准库函数system()实现的。这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果。

os.popen(command,mode) 返回command命令的执行结果。返回值是一个文件对象,可以读或者写(由mode决定,mode默认是’r’)。如果mode为’r’,可以使用此函数的返回值调用read()来获取command命令的执行结果。如a=os.popen(cmd).read()。还可以使用 a.rstrip() 进行去除换行符“\n”。

commands.getstatusoutput(command) 返回command命令的执行状态和执行结果,返回的是一个元组。该方法其实也是对popen的封装。

演示1:

import os
line=os.popen('date -d -5day +"%Y%m%d"','r')
print line.read().rstrip()  #调用read()方法获取结果,调用rstrip()方法去除换行符

执行结果如下

[root@bear ~]# python 9.py
20130306  #如果不调用rstrip()方法,后面会多出一行空行
Leave a Comment

Python压缩和解压缩文件(zip/unzip)

1,单个文件压缩成zip文件

#!/usr/bin/python
import zipfile
f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED)
f.write('1.py')
f.write('/root/install.log')
f.close()

仔细观察压缩以后的archive.zip,里面有一个1.py和一个root的目录,root目录下有一个install.log
ZIP_DEFLATED是压缩标志,如果使用它需要编译了zlib模块,如果仅仅是打包而不压缩的话,可以改为zipfile.ZIP_STORED

Leave a Comment

python中os和os.path模块

python中os.path模块用法

其它函数:
os.path.isabs() 指定路径是否为绝对路径
os.path.isdir() 指定路径是否存在且为一个目录
os.path.isfile() 指定路径是否存在且为一个文件
os.path.islink() 指定路径是否存在且为一个符号链接
os.path.ismount() 指定路径是否存在且为一个挂载点 ???
os.path.samefile() 两个路径名是否指向同一个文件
os.path.exists() 检验路径是否真实存在

Leave a Comment

RedHat6/Centos6系统中更新python版本

CentOS 6中,Python的版本默认为2.6.6版本,而我们有很多工作可能需要更高的版本,而去Python官网的时候发现,Python的版本已经到3.3了,于是下载并升级了下CentOS中Python的版本。

1,准备工作
将系统中自带的python2.6.6更名一下,因为yum也使用了系统自带的python,所以最好也将yum里指定一下使用的python版本。另外,需要提前安装openssl和openssl-devel,以防止编译安装Python时无法加载SSL模块。

$ python -V    #查看当前版本

$ mv /usr/bin/python /usr/bin/python2.6.6

$ vim /usr/bin/yum
将第一行的/usr/bin/python修改为/usr/bin/python2.6.6

$ sudo apt install gcc g++ make libssl-dev python3-openssl
$ yum install gcc gcc-c++ make openssl openssl-devel

# 安装相关依赖. 需要在make之前做, 不然在运行get-pip.py时
# 会遇到zipimport.ZipImportError: can't decompress data; zlib not available的错误
$ sudo apt-get install zlib1g-dev
$ yum install zlib zlib-devel

2,下载并安装新版python

3.5.5版下载地址
$ wget https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tgz

2.7.5版下载地址
$ wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2

$ tar jxvf Python-3.5.5.tgz
$ cd Python-3.5.5
$ ./configure --enable-optimizations    #这里的--enable-optimizations是可以省略的
$ make && make install
2 Comments