Python学习笔记:os模块常用语法
一、介绍
Python
中 os
模块包含普遍的操作系统功能。
可以处理文件、目录等操作。
二、常用语法
1.os.name
输出正在使用的平台。
import os
os.name
# 'nt' -- Windows
# 'posix' -- Linux/Unix
2.os.getcwd()
输出当前工作目录。
import os
os.getcwd()
# 'C:\\Users\\Hider'
3.os.listdir()
返回指定目录下的文件和目录名称列表。
import os
os.listdir()
'''
['.anaconda',
'.conda',
'.condarc',
'.dask',
'Untitled.ipynb',
'Videos',
'「开始」菜单',
'新建文件夹']
'''
os.listdir(r'C:\Users\Hider\Desktop\do')
4.os.remove()
删除文件。
import os
os.chdir(r'C:\Users\Hider\Desktop')
os.remove('remove_test.txt')
5.os.system()
os.system()
方法在子 shell
中执行命令(字符串)。
该方法是通过调用标准C函数 system()
来实现的,并且具有相同的限制。
如果命令生成任何输出,则将其发送到解释器标准输出流。
无论何时使用此方法,都将打开操作系统的相应 shell
并在其上执行命令。
注意:在 Unix
上,返回值是进程的退出状态,在 Windows
上,返回值是系统 shell
程序在运行命令后返回的值。
# Spyder 直接运行 只输出返回值
import os
cmd = 'date'
os.system(cmd) # 1
# 保存为文件 cmd 命令行执行可输出结果
C:\Users\Hider\Desktop>python sys_test.py
当前日期: 2021/10/26 周二
输入新日期: (年月日)
6.os.sep
输出操作系统特征的路径分隔符。
import os
os.sep
# '\\' -- Windows
# '/' -- Linux
7.os.linesep
输出操作系统使用的行终止符。
import os
os.linesep # '\r\n' -- Windows
os.linesep # '\n' -- Linux
os.linesep # '\r' -- Mac
8.os.path.split()
返回一个路径的目录名和文件名。
import os
file_dir = r'C:\Users\Hider\Desktop\json.json'
os.path.split(file_dir)
# ('C:\\Users\\Hider\\Desktop', 'json.json')
os.path.split(file_dir)[1]
# 'json.json'
9.os.path.isfile()
判断路径是否为文件,需要传入绝对路径。
注意:使用 os.listdir()
返回值作为 os.path.isfile()
或 os.path.isdir()
入参前,需使用 os.path.join()
进行路径拼接。
# 简单判断
import os
file_dir = 'C:/Users/Hider/Desktop'
os.path.isfile(file_dir) # False
os.path.isdir(file_dir) # True
10.os.path.isdir()
判断路径是否为目录,需要传入绝对路径。
# 遍历
import os
dir_name = r'C:\Users\Hider\Desktop\over'
for i in os.listdir(dir_name):
# print(i)
fulldir = os.path.join(dir_name, i)
# print(fulldir)
if os.path.isdir(fulldir): # 绝对路径
print(i)
if os.path.isfile(fulldir): # 绝对路径
print(fulldir)
11.os.path.exists()
判断路径是否真实存在。
import os
file_dir = r'C:\Users\Hider\Desktop\json.json'
os.path.exists(file_dir) # True
12.os.path.abspath(name)
获取绝对路径,即拼接当前工作目录路径。
import os
os.getcwd() # 'C:\\Users\\Hider\\Desktop\\over'
os.path.abspath("test.txt") # 'C:\\Users\\Hider\\Desktop\\over\\test.txt'
13.os.path.normpath(path)
规范 path
字符串形式,即规范分隔符 sep
。
import os
os.path.normpath("abc\\def//gg/test.txt")
# 'abc\\def\\gg\\test.txt'
14.os.path.getsize(name)
获取文件大小,如果是目录则返回 0。
import os
file_dir = r'C:\Users\Hider\Desktop\json.json'
os.path.getsize(file_dir) # 388
更多关于文件大小操作可参考:Python学习笔记:os.stat().st_size、os.path.getsize()获取文件大小
15.os.path.splitext()
分离文件名和扩展名。
import os
file_dir = r'C:\Users\Hider\Desktop\json.json'
os.path.splitext(file_dir)
# ('C:\\Users\\Hider\\Desktop\\json', '.json')
16.os.path.join(path, name)
连接目录和文件名或目录。
import os
os.path.join('c:\\work', 'file.txt') # 'c:\\work\\file.txt'
os.path.join('c:\\work', 'file2') # 'c:\\work\\file2'
17.os.path.basename(path)
返回文件名。
import os
file_dir = r'C:\Users\Hider\Desktop\json.json'
os.path.basename(file_dir) # 'json.json'
18.os.path.dirname(path)
返回文件路径。
import os
file_dir = r'C:\Users\Hider\Desktop\json.json'
os.path.dirname(file_dir) # 'C:\\Users\\Hider\\Desktop'
参考链接:盘点Python中os模块的那些用法
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)