#!/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 Tag: python
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 首先看一个例子:
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”等
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 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
其它函数:
os.path.isabs() 指定路径是否为绝对路径
os.path.isdir() 指定路径是否存在且为一个目录
os.path.isfile() 指定路径是否存在且为一个文件
os.path.islink() 指定路径是否存在且为一个符号链接
os.path.ismount() 指定路径是否存在且为一个挂载点 ???
os.path.samefile() 两个路径名是否指向同一个文件
os.path.exists() 检验路径是否真实存在
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 install2 Comments