经常在Linux环境下写一些小脚本处理文本文件或者图片之类的,整理一些经常会用到的实用小知识
python中得到shell命令输出的方法:
第一种
import subprocess
output = subprocess.Popen(['ls -l'],stdout=subprocess.PIPE,shell=True).communicate()
print output[0].stirp()
或者
import subprocess
sp = subprocess.Popen(['ls -l'],stdout=subprocess.PIPE,shell=True)
out = sp.stdout.readlines()
for line in out:
print line.strip()
第二种
import commands
return_code, output = commands.getstatusoutput('ls -l')
第三种
import os
process = os.popen('ls -l') # return file
output = process.read()
process.close()
处理文件相关
import os
os.getcwd() #得到当前python脚本工作的目录路径
os.system() #运行shell命令
os.path.split()
'''
返回一个路径的目录名和文件名,例如:os.path.split(‘C:\Python25\abc.txt’),返回(‘C:\Python25’, ‘abc.txt’)
'''
os.path.join(path,name) #连接目录与文件名或目录
os.path.basename(path) #返回文件名
os.path.dirname(path) #返回文件路径
'''
smaple:
os.path.dirname(‘c:\Python\a.txt’)
‘c:\Python’
'''
os.path.isfile() #函数检验给出的路径是不是一个文件
os.path.isdir() #函数检验给出的路径是不是一个目录
os.path.exists() #函数用来检验给出的路径是否真地存在,括号中填写相对路径或者绝对路径均可
'''
sample:
os.path.exists(‘C:\Python25\abc.txt’)
False
os.path.exists(‘C:\Python25’)
True
'''
os.path.abspath(name) #获得绝对路径
os.path.splitext() #分离文件名与扩展名
'''
smaple:
os.path.splitext(‘a.txt’)
(‘a’, ‘.txt’)
'''