转载:https://www.runoob.com/python/python-os-path.html
python os模块
os.path模块:
os.path.abspath(path) 返回绝对路径
os.path.basename(path) 返回文件名
os.path.dirname(path) 返回路径
os.path.exist(path) 路径是否存在
os.path.expanduser(path) 把path中包含的""和"user"转换成用户目录
os.path.split(path) 把路径分割成 dirname 和 basename,返回一个元组
os.path.splitext(path) 分割路径,返回路径名和文件扩展名的元组
os.path.splitdrive(path) 一般用在 windows 下,返回驱动器名和路径组成的元组
检查文件是否存在:
os.path.isfile(path)
os.path.exists(path)
os.access(path, os.F_OK)
检查目录是否存在:
os.path.isdir(path)
python执行shell命令
1,2都是python2的语法
-
p=os.popen(‘sh hello.sh’)
x=p.read()
print x
p.close()
x = p.readlines()
for i in x:
print(x)
p.close -
(status, output) = commands.getstatusoutput(‘sh shell.sh’)
返回状态码和输出结果
3.subprocess.Popen(shell=True, stderr=)
import subprocess
compilePopen = subprocess.Popen(‘gcc haha’,shell=True,stderr=subprocess.PIPE)
compilePopen.wait()
print(‘the status code is:’,compilePopen.returncode)
with open(‘log’,‘w’) as object:
object.write(compilePopen.stderr.read())
args:shell命令,可以是字符串,或者序列类型,如list,tuple。
bufsize:缓冲区大小,可默认
stdin,stdout,stderr:分别表示程序的标准输入,标准输出及标准错误
shell:True可以将shell命令整个以字符串表示,False时,shell命令要split成序列
更改目录:
os.chdir(path)
当前目录:
os.getcwd()
list 目录列表(包括文件夹,只有一层):
os.listdir()
列出目录所有文件:
os.walk()
创建目录:
os.mkdir(path[, mode])
os.remove(path)
os.removedirs(path)
os.rename(src, dst)
os.renames(old, new)
删除path指定的空目录,如果非空,抛出异常
os.rmdir(path)
更改权限
os.chown(path, uid, gid)
改变当前进程的根目录
os.chroot(path)
关闭文件描述符
os.close(fd)