os模块(二十)

os模块是与操作系统交互的一个接口

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
os.curdir  返回当前目录: ('.')
os.pardir  获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2')    可生成多层递归目录
os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove()  删除一个文件
os.rename("oldname","newname")  重命名文件/目录
os.stat('path/filename')  获取文件/目录信息
os.sep    输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep    输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
os.pathsep    输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command")  运行shell命令,直接显示
os.environ  获取系统环境变量
os.path.abspath(path)  返回path规范化的绝对路径
os.path.split(path)  将path分割成目录和文件名二元组返回
os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)  如果path是绝对路径,返回True
os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
os.path.getsize(path) 返回path的大小


removedir:若目录不为空则不允许删除

import os

print(os.getcwd()) # F:\Python3\os_module
os.chdir('test1')
print(os.getcwd()) # F:\Python3\os_module\test1
os.chdir('..')  # 再返回到上一层,当前目录的父目录
print(os.getcwd()) # F:\Python3\os_module

#os.mkdir('test2')
#os.remove('test2/dd.py')
#os.removedirs('test2')
print(os.listdir('.')) # ['os_test.py', 'test1', '__init__.py']
print(os.stat('test1/sss.py'))

print(os.system('dir'))

print(os.path.basename('./test1/sss.py'))  # sss.py
print(os.path.dirname('./test1/sss.py'))    # ./test1
print(os.path.split('./test1/sss.py'))  # ('./test1', 'sss.py')

a = './test1'
b = 'sss.py'
print(os.path.join(a,b)) # ./test1\sss.py 路径拼接

 输出:

F:\Python3\os_module
F:\Python3\os_module\test1
F:\Python3\os_module
['os_test.py', 'test1', 'test2', '__init__.py']
os.stat_result(st_mode=33206, st_ino=3096224743900082, st_dev=536793, st_nlink=1, st_uid=0, st_gid=0, st_size=10, st_atime=1551150244, st_mtime=1551150244, st_ctime=1551150188)
 ������ F �еľ�û�б�ǩ��
 �������� 0008-30D9

 F:\Python3\os_module ��Ŀ¼

2019-02-26  11:19    <DIR>          .
2019-02-26  11:19    <DIR>          ..
2019-02-26  11:19               663 os_test.py
2019-02-26  11:04    <DIR>          test1
2019-02-26  11:02    <DIR>          test2
2019-02-26  10:41                 0 __init__.py
               2 ���ļ�            663 �ֽ�
               4 ��Ŀ¼ 147,671,588,864 �����ֽ�
0
sss.py
./test1
('./test1', 'sss.py')
./test1\sss.py

 

 

# bin.py 文件
import os
print(__file__)     # F:/Python3/module_test/bin/bin.py pycharm生成的文件名,实际上只是 bin.py
print(__name__)
print(os.path.dirname(__file__)) # F:/Python3/module_test/bin bin.py的文件路径
print(os.path.dirname(os.path.dirname(__file__))) # F:/Python3/module_test 再往上一层
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  # os.path.abspath 绝对路径
                                                                        # 不管在终端还是pycharm都可以使用
print(BASE_DIR) # cal.py文件所在的路径
import sys
sys.path.append(BASE_DIR) # 添加环境变量找到cal.py文件
import cal
print(cal.add(1,2))

 

posted @ 2019-02-26 11:27  狂奔~  阅读(181)  评论(0编辑  收藏  举报