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