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