os模块
作者:互联网
1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()
>>> os.getcwd()
'E:\\PythonProject\\python-test\\BasicGrammer'
2.返回指定目录下的所有文件和目录名:os.listdir()
>>> os.listdir()
['.idea', 'guessage.py', 'requirements.txt', 'test.md', 'test.py', '__pycache__', '写文件.txt', '写
文件.txt.tmp', '格式化.py', '猜年龄的游戏.jpg', '读文件.txt']
3.函数用来删除一个文件:os.remove()
>>> os.remove("test.md")
>>> os.listdir()
['.idea', 'guessage.py', 'requirements.txt', 'test.py', '__pycache__', '写文件.txt', '写文件.txt.tm
p', '格式化.py', '猜年龄的游戏.jpg', '读文件.txt']
4.删除多个目录(目录非空不能删除):os.removedirs(r“c:\python”)
>>> os.listdir()
['.idea', 'guessage.py', 'requirements.txt', 'test.py', 'test1', 'test2', '__pycache__', '写文件.tx
t', '写文件.txt.tmp', '格式化.py', '猜年龄的游戏.jpg', '读文件.txt']
>>> os.removedirs("test1")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\software2\Python3\install\lib\os.py", line 238, in removedirs
rmdir(name)
OSError: [WinError 145] 目录不是空的。: 'test1'
>>> os.removedirs("test2")
5.检验给出的路径是否是一个文件:os.path.isfile()
>>> os.listdir()
['.idea', 'guessage.py', 'requirements.txt', 'test.py', 'test1', '__pycache__', '写文件.txt', '写文
件.txt.tmp', '格式化.py', '猜年龄的游戏.jpg', '读文件.txt']
>>> os.path.isfile("test2") #test2不存在,返回False
False
>>> os.path.isfile("test1")
False
>>> os.path.isfile("test.py")
True
6.检验给出的路径是否是一个目录:os.path.isdir()
>>> os.path.isdir("test2")
False
>>> os.path.isdir("test1")
True
>>> os.path.isdir("test.py")
False
7.判断是否是绝对路径:os.path.isabs()
>>> os.listdir()
['.idea', 'guessage.py', 'requirements.txt', 'test.py', 'test1', '__pycache__', '写文件.txt', '写文
件.txt.tmp', '格式化.py', '猜年龄的游戏.jpg', '读文件.txt']
>>> os.path.isabs("test2")
False
>>> os.path.isabs("E:\PythonProject\python-test\BasicGrammer\test2") #目录不存在时,同样返回True
True
>>> os.path.isabs("E:\PythonProject\python-test\BasicGrammer\test1")
True
>>> os.path.isabs("E:\PythonProject\python-test\BasicGrammer\testwe") #目录不存在时,同样返回True
True
8.检验给出的路径是否真地存在:os.path.exists()
>>> os.path.exists("E:\PythonProject\python-test\BasicGrammer\test1")
False
>>> os.path.exists("E:\PythonProject\python-test\BasicGrammer\test.py")
False
>>> os.path.exists("test.py")
True
>>> os.path.exists("test1")
True
>>> os.path.exists("E:\PythonProject\python-test\BasicGrammer")
True
>>> os.path.exists("E:\PythonProject\python-test\BasicGrammer\test1")
False
>>> os.path.exists("E:\PythonProject\python-test\BasicGrammer/test1")
True
>>> os.path.exists("E:\PythonProject\python-test\BasicGrammer/test.py")
True
9.返回一个路径的目录名和文件名:os.path.split() e.g os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt')
分离扩展名:os.path.splitext() e.g os.path.splitext('/usr/local/test.py') 结果:('/usr/local/test', '.py')
这里是windows与linux中路径的不同
>>> os.path.split("E:\PythonProject\python-test\BasicGrammer/test.py")
('E:\\PythonProject\\python-test\\BasicGrammer', 'test.py')
>>> os.path.split("E:\PythonProject\python-test\BasicGrammer/test1")
('E:\\PythonProject\\python-test\\BasicGrammer', 'test1')
>>> os.path.split("E:\PythonProject\python-test\BasicGrammer\test1")
('E:\\PythonProject\\python-test', 'BasicGrammer\test1')
10.获取路径名:os.path.dirname()
>>> os.path.dirname("E:\PythonProject\python-test\BasicGrammer\test1")
'E:\\PythonProject\\python-test'
>>> os.path.dirname("E:\PythonProject\python-test\BasicGrammer/test1")
'E:\\PythonProject\\python-test\\BasicGrammer'
>>> os.path.dirname("E:\PythonProject\python-test\BasicGrammer/test.py")
'E:\\PythonProject\\python-test\\BasicGrammer'
11.获得绝对路径: os.path.abspath()
>>> os.path.abspath("E:\PythonProject\python-test\BasicGrammer/test.py")
'E:\\PythonProject\\python-test\\BasicGrammer\\test.py'
>>> os.path.abspath("E:\PythonProject\python-test\BasicGrammer\test.py")
'E:\\PythonProject\\python-test\\BasicGrammer\test.py'
12.获取文件名:os.path.basename()
>>> os.path.basename("E:\PythonProject\python-test\BasicGrammer\test.py")
'BasicGrammer\test.py'
>>> os.path.basename("E:\PythonProject\python-test\BasicGrammer/test.py")
'test.py'
13.运行shell命令: os.system()
>>> os.system("dir")
E:\PythonProject\python-test\BasicGrammer 的目录
2019/05/05 周日 19:25 <DIR> .
2019/05/05 周日 19:25 <DIR> ..
2019/05/05 周日 19:41 <DIR> .idea
2019/04/18 周四 15:09 941 guessage.py
2019/04/28 周日 10:40 33 requirements.txt
2019/05/05 周日 18:16 194 test.py
2019/05/05 周日 19:24 <DIR> test1
2019/05/05 周日 15:08 <DIR> __pycache__
2019/05/01 周三 22:19 0 写文件.txt
2019/04/24 周三 15:59 344 写文件.txt.tmp
2019/04/18 周四 12:11 278 格式化.py
2019/04/18 周四 15:06 88,888 猜年龄的游戏.jpg
2019/04/30 周二 15:00 344 读文件.txt
8 个文件 91,022 字节
5 个目录 73,385,168,896 可用字节
0
14.读取操作系统环境变量HOME的值:os.getenv("HOME")
>>> os.getenv("HOME")
>>> os.getenv("path")
'E:\\PythonProject\\python-test\\venvP3\\Scripts;D:\\software2\\Python3\\install\\Scripts\\;D:\\sof
tware2\\Python3\\install\\;D:\\software2\\Python2\\install\\;D:\\software2\\Python2\\install\\Scrip
ts;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowe
rShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program F
iles\\Common Files\\Intel\\WirelessCommon\\;D:\\software2\\Git\\install\\Git\\cmd;C:\\Users\\Admini
strator\\AppData\\Local\\Microsoft\\WindowsApps;;D:\\software\\pycharm\\install\\PyCharm 2019.1.1\\
bin;'
>>>
15.返回操作系统所有的环境变量: os.environ
>>> os.environ
environ({'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer', 'COMMONPROGRAMFILES': 'C:\\Program
Files\\Common Files', 'SESSIONNAME': 'Console', 'COMPUTERNAME': 'CHINA-20190321K', '_OLD_VIRTUAL_PA
TH': 'D:\\software2\\Python3\\install\\Scripts\\;D:\\software2\\Python3\\install\\;D:\\software2\\P
ython2\\install\\;D:\\software2\\Python2\\install\\Scripts;C:\\Windows\\system32;C:\\Windows;C:\\Wi
ndows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenS
SH\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\
;D:\\software2\\Git\\install\\Git\\cmd;C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\Windows
Apps;;D:\\software\\pycharm\\install\\PyCharm 2019.1.1\\bin;', '__INTELLIJ_COMMAND_HISTFILE__': 'C:
\\Users\\Administrator\\.PyCharm2019.1\\config\\terminal\\history\\history-11', 'SYSTEMDRIVE': 'C:'
, 'NUMBER_OF_PROCESSORS': '4', 'LOGONSERVER': '\\\\CHINA-20190321K', 'TERMINAL_EMULATOR': 'JetBrain
s-JediTerm', 'TMP': 'C:\\Users\\Administrator\\AppData\\Local\\Temp', 'HOMEPATH': '\\Users\\Adminis
trator', '_OLD_VIRTUAL_PROMPT': '$P$G', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WS
H;.MSC;.PY;.PYW', 'PYCHARM': 'D:\\software\\pycharm\\install\\PyCharm 2019.1.1\\bin;', 'USERNAME':
'Administrator', 'PROGRAMFILES': 'C:\\Program Files', 'USERDOMAIN_ROAMINGPROFILE': 'CHINA-20190321K
', 'LOCALAPPDATA': 'C:\\Users\\Administrator\\AppData\\Local', 'VIRTUAL_ENV': 'E:\\PythonProject\\p
ython-test\\venvP3', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 142 Stepping 9, GenuineIntel',
'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData', 'APPDATA': 'C:\\Users\\Administrator\\
AppData\\Roaming', 'ALLUSERSPROFILE': 'C:\\ProgramData', 'USERDOMAIN': 'CHINA-20190321K', 'PROCESSO
R_LEVEL': '6', 'PROGRAMDATA': 'C:\\ProgramData', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'PROC
ESSOR_ARCHITECTURE': 'AMD64', 'FPS_BROWSER_USER_PROFILE_STRING': 'Default', 'SYSTEMROOT': 'C:\\Wind
ows', 'PROCESSOR_REVISION': '8e09', 'TEMP': 'C:\\Users\\Administrator\\AppData\\Local\\Temp', 'PSMO
DULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules', 'PATH': 'E:\\PythonProject\\python-test\\venvP3\\Scripts;D:\\software2\\Python3\\i
nstall\\Scripts\\;D:\\software2\\Python3\\install\\;D:\\software2\\Python2\\install\\;D:\\software2
\\Python2\\install\\Scripts;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windo
ws\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\Intel\\
WiFi\\bin\\;C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;D:\\software2\\Git\\install\\G
it\\cmd;C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps;;D:\\software\\pycharm\\in
stall\\PyCharm 2019.1.1\\bin;', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'USERPROFILE': 'C:\
\Users\\Administrator', 'WINDIR': 'C:\\Windows', 'PROGRAMW6432': 'C:\\Program Files', 'OS': 'Window
s_NT', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'PUBLIC': 'C:\\Users\\Pu
blic', 'PROMPT': '(venvP3) $P$G', 'HOMEDRIVE': 'C:', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Comm
on Files'})
>>>
16.设置系统环境变量,仅程序运行时有效:os.environ.setdefault('HOME','/home/alex')
>>> os.environ.setdefault('HOME','E:\\PythonProject')
'E:\\PythonProject'
>>> os.getenv("HOME")
'E:\\PythonProject'
17.给出当前平台使用的行终止符:os.linesep Windows使用'\r\n',Linux and MAC使用'\n'
>>> os.linesep
'\r\n'
18.指示你正在使用的平台:os.name 对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'
>>> os.name
'nt'
19.重命名:os.rename(old, new)
>>> os.rename("test1","test2")
>>> os.listdir()
['.idea', 'guessage.py', 'requirements.txt', 'test.py', 'test2', '__pycache__', '写文件.txt', '写文
件.txt.tmp', '格式化.py', '猜年龄的游戏.jpg', '读文件.txt']
>>> os.listdir("test2")
['ww']
20.创建多级目录:os.makedirs(r“c:\python\test”)
>>> os.makedirs("ee/eee")
>>> os.listdir()
['.idea', 'ee', 'guessage.py', 'requirements.txt', 'test.py', 'test2', '__pycache__', '写文件.txt',
'写文件.txt.tmp', '格式化.py', '猜年龄的游戏.jpg', '读文件.txt']
>>> os.listdir("ee")
['eee']
21.创建单个目录:os.mkdir(“test”)
>>> os.mkdir("mkdir")
>>> os.listdir()
['.idea', 'ee', 'guessage.py', 'mkdir', 'requirements.txt', 'test.py', 'test2', '__pycache__', '写
文件.txt', '写文件.txt.tmp', '格式化.py', '猜年龄的游戏.jpg', '读文件.txt']
22.获取文件属性:os.stat(file)
>>> os.stat("mkdir")
os.stat_result(st_mode=16895, st_ino=58546795155817896, st_dev=3466358229, st_nlink=1, st_uid=0, st
_gid=0, st_size=0, st_atime=1557057325, st_mtime=1557057325, st_ctime=1557057325)
>>> os.stat("test.py")
os.stat_result(st_mode=33206, st_ino=3377699720529700, st_dev=3466358229, st_nlink=1, st_uid=0, st_
gid=0, st_size=194, st_atime=1557051419, st_mtime=1557051419, st_ctime=1557051419)
23.修改文件权限与时间戳:os.chmod(file)
24.获取文件大小:os.path.getsize(filename)
>>> os.path.getsize("mkdir")
0
>>> os.path.getsize("test.py")
194
25.结合目录名与文件名:os.path.join(dir,filename)
>>> os.path.join("ee","test.py")
'ee\\test.py'
>>> os.path.join("E:\\ee\\ee","test.py")
'E:\\ee\\ee\\test.py'
26.改变工作目录到dirname: os.chdir(dirname)
>>> os.chdir("ee")
>>> os.getcwd()
'E:\\PythonProject\\python-test\\BasicGrammer\\ee'
27.获取当前终端的大小: os.get_terminal_size()
>>> os.get_terminal_size()
os.terminal_size(columns=99, lines=8)
>>> os.get_terminal_size()
os.terminal_size(columns=114, lines=8)
28.杀死进程: os.kill(10884,signal.SIGKILL)
标签:PythonProject,py,模块,test,path,txt,os 来源: https://blog.51cto.com/10983441/2389450