python的基础模块(os,sys,time,shutil,differlib,socket)
2017-07-20 17:11
776 查看
##########os模块###########
• os.environ 对环境变量的操作• os.getcwd() 获取当前的工作目录
• os.access(path,mode) 判断对一个文件或者目录是否具有指定的权限
mode 参数的可选值: ROK, WOK, 和 X_OK
• os.stat() 相当于 Linux 下 stat 命令
• os.listdir() 列出给定目录的内容
• os.mkdir(path) 创建目录
• os.mkdirs(path) 创建目录树,相当于mkdir -p 操作
• 使用 Python 执行 Linux 命令
•os.system , 并没有返回值,是靠副作用产生输出的
•os.popen 返回一个文件对象
•os.popen2 返回两个文件对象,一个是 stdin, 一个是 stdout
•os.popen3 返回三个文件对象 :stdin,stdout,stderr
###os.path 模块
os.path 是os 的一个子模块 , 主要是对路径进行解析、创建、测试和其他的一些操作,封装了不同平台的路径操作。• 路径解析:
•path.split('/tmp/test/ab')
• path.basename('/tmp/test/ab')
• path.dirname('/tmp/test/ab')
• path.join('a','b','c')
• path.abspath('.')
• path.splitext('aaa.tar.gz')
文件属性相关:
• os.path.getatime ('filename')
• os.path.getctime ('filename')
• os.path.getmtime ('filename')
• os.path.getsize('filename')
文件测试相关:
• os.path.isabs
• os.path.isdir
• os.path.isfile
• os.path.islink
##########sys模块#########
sys 模块,主要提供了系统相关的配置和操作,封装了探测、改变解释器runtime 以及资源的交互。• sys.version 得到解释器的版本信息
• sys.platform 得到当前运行平台
•sys.argv 获取传递给脚本的参数,参数解析类似于 bash 的方式,第一个参数代表脚本本身;
print sys.argv #以列表方式返回传递给脚本的参数
• sys.stderr , sys.stdin , sys.stdout 这些都分别代表一个文件对象;
print >> sys.stderr, 'I am error'
###找出用户给定目录下的所有以.log结尾的文件。
#!/usr/bin/env python#coding:utf-8
_author_ = 'hxr'
import os
dir = raw_input("请输入目录名:")
filelist = os.listdir(dir)
for file in filelist:
if file.endswith('.log'):
with open('logfile','a+') as g:
a=os.path.join(dir,file)
g.write(a)
g.write('\n')
#########time模块########
python中表示时间的三种方式:1. 时间戳 time.time()
2. 格式化的时间字符串
3. 元组(共9个元素) time.localtime()
time.mktime(t) 将元组格式时间转化为时间戳
time.localtime() 将时间戳转化为元组格式时间
time.sleep(secs)
time.ctime([secs]) 将时间戳转化为字符串格式显示
time.strftime(format[,t]) 将元组格式时间转化为字符串显示
time.strptime(string[,format]) 将字符串显示转化为元组格式时间
• time.strftime("%Y-%m-%d %X", time.localtime())
• time.strptime('2017-07-16 07:28:49','%Y-%m-%d %X')
##########shutil模块#####
shutil模块简单来说是用来复制、归档文件和目录• shutil.copyfile(src,dst) 复制一个文件
• shutil.copymod(src,dst) 复制文件权限 , 将文件权限同步到其他文件
• shutil.copy(src,dst) 源必须是文件,但是 dst 可以是文件或者目录,与cp 类似
• shutil.copy2(src,dst) 与 copy 类似,但是源数据也会复制,类似cp -p 命令,将权限 , 时间戳等源数据也复制过去。
• shutil.copytree(src,dst) 以copy2 的方式递归复制一个目录:
• shutil.rmtree(path) 递归删除一个目录
• 打包压缩:
shutil.make_archive(base_name, format, root_dir=None,base_dir=None)
•basename: 打包后的文件名称,
•format: 以什么样的格式打包, rootdir 压缩的根目录。
•base_dir 开始压缩的目录。
•rootdir 和 basedir 默认都是当前目录
• 查看都支持哪些打包格式:
shutil.get_archive_formats()
##打包对应目录,并进行重命名
#!/usr/bin/env python#coding:utf-8
_author_ = 'hxr'
import shutil
import time
s='homeback_%s_%s_%s.tar.gz'% (time.localtime()[0],time.localtime()[1],time.localtime()[2])
shutil.make_archive(s,'tar','/home')
#########differlib模块######
test1_line=test1.splitlines()test2_line=test2.splitlines()
d=difflib.Differ() ##比较不同并输出
a=d.compare(test1_line,test2_line)
a=list(a)
print '\n'.join(a)
d=difflib.HtmlDiff() ##生成网页文件
htmldata=d.make_file(test1_line,test2_line)
with open('/home/kiosk/Desktop/data.html','a+') as f:
f.write(htmldata)
########socket模块######
##服务端socket_server
#!/usr/bin/env python#coding:utf-8
_author_ = 'hxr'
import socket
s=socket.socket()
s.bind(('127.0.0.1',8888))
s.listen(5)
print 'waiting for connection...'
sock,addr=s.accept()
print 'accept a connection'
sock.send('welcome hello client')
data=sock.recv(1024)
print data
s.close()
print 'connection close....'
##客户端socket_client
#!/usr/bin/env python#coding:utf-8
_author_ = 'hxr'
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('127.0.0.1',8888))
print s.recv(1024)
s.send('hello,server')
s.close()
相关文章推荐
- Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块
- Python time、datetime、os、random、sys、hashlib、json、shutil、logging、paramiko、subprocess、ConfigParser、xml、shelve模块的使用
- python入门----3+1个内置模块:sys,os, time,datetime
- python常见模块命令os,sys,shutil
- Python常用模块-SYS、OS、Time、hashlib
- Python模块:time、datetime、random、os、sys
- python sys,os,time模块的使用(包括时间格式的各种转换)
- 【Python模块】os & linecache & hashlib & commands & sys & time & datetime
- Python模块 - os , sys.shutil
- python-时间模块,random、os、sys、shutil、json和pickle模块
- python 常用模块之os、sys、shutil
- python 关于操作文件的相关模块(os,sys,shutil,subprocess,configparser)
- 模块、包及常用模块(time/random/os/sys/shutil)
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
- Python内置模块之time、random、hashlib、OS、sys、UUID模块
- python模块 - os , sys.shutil
- python常见模块命令(os/sys/platform)
- python之路——sys模块与os模块
- python基础学习之os、os.path模块常用函数
- python基础之模块之os模块