python基础-模块:OS

os模块的基础用法

import os
# 显示当前绝对路径
print(os.getcwd())
# /Users/Alex/Desktop/python1


# 变更路径
# os.chdir("/Users/Alex/Desktop/python/test")
# print(os.getcwd())


# #当前下创建目录,斜杠不可转义
# os.makedirs('test/new')


#非空不删,删除的必须是最后一层目录,哈哈rm -rf
# os.removedirs('test/test/new')


# 将当前目录下的文件构成列表输出,注意没有前面的路径
print(os.listdir())
# [ 'dir1', 'dir2', 'hello.py', 'hello.txt', 'logging.py', 'os模块.py', 'sys模块.py']


# 返回文件信息:
# os.stat_result(st_mode=33188, st_ino=23190363,
# st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=0,
# st_atime=1493177402, st_mtime=1493177402, st_ctime=1493177402)
print(os.stat('/Users/Alex/Desktop/python1'))
# os.stat_result(st_mode=16877, st_ino=8332245, st_dev=16777220, st_nlink=57,
#                st_uid=501, st_gid=20, st_size=1938, st_atime=1505879152,
#                st_mtime=1496281283, st_ctime=1496281283)


# os.sep输出操作系统特定的路径分隔符,win下为"\\",Linux和Mac下为"/"
print(os.sep)
# /


# os.linesep输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
print(os.linesep)


# os.pathsep输出用于分割文件路径的字符串 win下为;,Linux下为:
print(os.pathsep)
# :


# os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
# 判断变量判断不同操作系统
print(os.name)
# posix


# 直接命令行操作
print(os.system("ls -l"))
# total 64
# drwxr-xr-x  3 Alex  staff   102 Apr 26 15:58 __pycache__
# drwxr-xr-x  5 Alex  staff   170 Sep 15 15:24 dir1
# drwxr-xr-x  4 Alex  staff   136 Sep 20 11:15 dir2
# -rw-r--r--  1 Alex  staff    13 Apr 26 12:22 hello.py
# -rw-r--r--  1 Alex  staff     0 Apr 26 11:30 hello.txt



#绝对路径
print(os.path.abspath("hello.txt"))
# /Users/Alex/Desktop/python1/hello.txt



# 返回文件所在路径
res=os.path.abspath("hello.txt")
print(os.path.dirname(res))
# /Users/Alex/Desktop/python1

# 返回路径后的文件名
print(os.path.basename(res))
# hello.txt


# 将路径和文件名放在元组中展示,所以位置坐标0 和 1就是路径名和文件名,分别就是dirname,basename
print(os.path.split(res))
# ('/Users/Alex/Desktop/python1', 'hello.txt')


# 是不是绝对路径,返回布尔值,用于判断
print(os.path.isabs(res))
# True

# 是不是文件,返回布尔值,用于判断有没有这个文件
print(os.path.isfile(res))
# True

#judge#  是不是一个存在目录,返回布尔值,用于判断是不是一个目录
print(os.path.isdir(res))
# False

# 官方推荐路径拼接方法,别用+,路径的拼接也是经常用到的基础
s1='/Users/Alex/Desktop/python1'
s2='hello111.txt'
# print(s1+os.sep+s2)  不推荐
print(os.path.join(s1,s2))
# /Users/Alex/Desktop/python1/hello111.txt

  

posted @ 2017-09-20 14:20  Adamanter  阅读(103)  评论(0编辑  收藏  举报