Python 对linux系统操作
2023-06-13 09:12:14 时间
一、os中常用属性和方法
作用:包含了基本的操作系统功能,提供了非常丰富的方法用来处理文件和目录
属性
名称 | 说明 |
---|---|
name | 操作系统的类型,nt表示windows,posix表示Linux、Unix |
uname | 获取操作系统的信息,linux、Unix下使用 |
environ | 获取系统中的环境变量,environ.get()可以获取环境变量的值 |
curdir | 返回当前的目录 |
方法
名称 | 说明 |
---|---|
getcwd() | 返回当前工作目录的绝对路径 |
listdir() | 返回指定目录下的所有文件和目录 |
mkdir() | 创建指定目录,注意目录已经存在时会报错,目录路径中存在不存在的层级时报错 |
rmdir() | 删除目录,注意目录不存在则报错 |
rename() | 重命名 |
stat() | 获取文件属性 |
remove() | 删除普通文件 |
system() | 运行shell命令 |
示例
<span class="hljs-keyword">import</span> os
<span class="hljs-comment"># 操作系统的类型</span>
<span class="hljs-comment"># nt windows</span>
<span class="hljs-comment"># posix Linux、Unix</span>
print(os.name)
<span class="hljs-comment"># 获取操作系统的信息,linux、Unix下使用</span>
print(os.uname())
<span class="hljs-comment"># 获取系统中的环境变量</span>
print(os.environ)
<span class="hljs-comment"># 获取指定环境变量的值</span>
print(os.environ.get(<span class="hljs-string">"PATH"</span>))
<span class="hljs-comment"># 返回当前的目录</span>
print(os.curdir)
<span class="hljs-comment"># 返回当前工作目录的绝对路径</span>
print(os.getcwd())
<span class="hljs-comment"># 返回指定目录下的所有文件和目录</span>
print(os.listdir(<span class="hljs-string">r"C:\Users\sunck\Desktop\code"</span>))
<span class="hljs-comment"># 创建指定目录,注意目录已经存在时会报错,目录路径中存在不存在的层级时报错</span>
os.mkdir(<span class="hljs-string">r"C:\Users\sunck\Desktop\file"</span>)
os.mkdir(<span class="hljs-string">r"C:\Users\sunck\Desktop\file\a\b"</span>)
<span class="hljs-comment"># 删除目录,注意目录不存在则报错</span>
os.rmdir(<span class="hljs-string">r"C:\Users\sunck\Desktop\file"</span>)
<span class="hljs-comment"># 重命名</span>
os.rename(<span class="hljs-string">r"C:\Users\sunck\Desktop\code\file1.txt"</span>, <span class="hljs-string">r"C:\Users\sunck\Desktop\code\file2.txt"</span>)
<span class="hljs-comment"># 获取文件属性</span>
print(os.stat(<span class="hljs-string">r"C:\Users\sunck\Desktop\code\file2.txt"</span>))
<span class="hljs-comment"># 删除普通文件</span>
os.remove(<span class="hljs-string">r"C:\Users\sunck\Desktop\code\file2.txt"</span>)
<span class="hljs-comment"># 运行shell命令</span>
os.system(<span class="hljs-string">"notepad"</span>)
os.system(<span class="hljs-string">"shutdown -s -t 10"</span>)
os.system(<span class="hljs-string">"shutdown -a"</span>)
二、os.path中常用方法
操作文件和目的函数一部分在os模块中,还有一部分在os.path中
名称 | 说明 |
---|---|
abspath | 返回指定路径的绝对路径 |
join | 拼接路径(不论是否存在) |
split | 拆分路径(不论是否存在) |
splitdrive | 以路径第一个’/'为分隔,分隔驱动器名与路径 |
splitext | 获取文件的扩展名(不论是否存在) |
basename | 获取目录或文件名(不论是否存在) |
getsize | 获取属性 |
getctime | 获取属性 |
isdir | 判断是否是目录 |
isfile | 判断是否是文件 |
exists | 判断目录和文件是否存在 |
isabs | 判断是否是绝对路径(不论是否存在) |
<span class="hljs-keyword">import</span> os
<span class="hljs-comment"># 返回指定路径的绝对路径</span>
print(os.path.abspath(<span class="hljs-string">"."</span>))
<span class="hljs-comment"># 拼接路径(不论是否存在)</span>
print(os.path.join(<span class="hljs-string">r"C:\Users\sunck\Desktop\file"</span>, <span class="hljs-string">"a.txt"</span>))
<span class="hljs-comment"># 拆分路径(不论是否存在)</span>
print(os.path.split(<span class="hljs-string">r"C:\Users\sunck\Desktop\file"</span>))
print(os.path.split(<span class="hljs-string">r"C:\Users\sunck\Desktop\file\sunck.txt"</span>))
<span class="hljs-comment"># 以路径第一个'/'为分隔,分隔驱动器名与路径</span>
print(os.path.splitdrive(<span class="hljs-string">r"C:\Users\sunck\Desktop\file"</span>))
print(os.path.splitdrive(<span class="hljs-string">r"C:\Users\sunck\Desktop\file\sunck.txt"</span>))
<span class="hljs-comment"># 获取文件的扩展名(不论是否存在)</span>
print(os.path.splitext(<span class="hljs-string">r"C:\Users\sunck\Desktop\file"</span>))
print(os.path.splitext(<span class="hljs-string">r"C:\Users\sunck\Desktop\file\sunck.txt"</span>))
<span class="hljs-comment"># 获取目录名(不论是否存在)</span>
print(os.path.basename(<span class="hljs-string">r"C:\Users\sunck\Desktop\file"</span>))
<span class="hljs-comment"># 获取文件名(不论是否存在)</span>
print(os.path.basename(<span class="hljs-string">r"C:\Users\sunck\Desktop\file\sunck.txt"</span>))
<span class="hljs-comment"># 获取属性</span>
print(os.path.getsize(<span class="hljs-string">r"C:\Users\sunck\Desktop\code\test.py"</span>))
print(os.path.getctime(<span class="hljs-string">r"C:\Users\sunck\Desktop\code\test.py"</span>))
<span class="hljs-comment"># 判断是否是目录</span>
print(os.path.isdir(<span class="hljs-string">r"C:\Users\sunck\Desktop\code"</span>))
print(os.path.isdir(<span class="hljs-string">r"C:\Users\sunck\Desktop\file"</span>))
print(os.path.isdir(<span class="hljs-string">r"C:\Users\sunck\Desktop\code\test.py"</span>))
<span class="hljs-comment"># 判断是否是文件</span>
print(os.path.isfile(<span class="hljs-string">r"C:\Users\sunck\Desktop\code\test.py"</span>))
print(os.path.isfile(<span class="hljs-string">r"C:\Users\sunck\Desktop\code\1.txt"</span>))
print(os.path.isfile(<span class="hljs-string">r"C:\Users\sunck\Desktop\code"</span>))
<span class="hljs-comment"># 判断目录和文件是否存在</span>
print(os.path.exists(<span class="hljs-string">r"C:\Users\sunck\Desktop\code\test.py"</span>))
print(os.path.exists(<span class="hljs-string">r"C:\Users\sunck\Desktop\code\2.py"</span>))
print(os.path.exists(<span class="hljs-string">r"C:\Users\sunck\Desktop\code"</span>))
print(os.path.exists(<span class="hljs-string">r"C:\Users\sunck\Desktop\file"</span>))
<span class="hljs-comment"># 判断是否是绝对路径(不论是否存在)</span>
print(os.path.isabs(<span class="hljs-string">r"C:\Users\sunck\Desktop\code"</span>))
print(os.path.isabs(<span class="hljs-string">r"C:\Users\sunck\Desktop\file"</span>))
print(os.path.isabs(<span class="hljs-string">r".\code"</span>))
相关文章
- Linux环境下安装Git步骤指南(linux安装git)
- Linux 实训指南:让你成为Linux高手(linux实训手册)
- Linux定义变量的技巧与挑战(linux中定义变量)
- Python assert异常处理(一看即懂)
- 深入体验:Linux笔记本电脑之旅(笔记本电脑linux系统)
- 深入了解Linux 5.X : 现代化新内核(linux新内核)
- 重塑Linux内核:清理多余文件(linux清理内核)
- Linux系统下更改用户ID的方法(linux更改id)
- Linux下快速启动数据库服务实战(linux启动数据库服务)
- Linux系统编程:第二版的全新革新(linux系统编程第二版)
- Linux发展之路:探索分支结构(linux的分支)
- 关闭Linux防火墙:简便方法(关闭linux的防火墙)
- Linux系统下U盘的挂载方式(linux系统u盘的挂载)
- 命令Linux下的curl命令:实现简单的网络请求(linux的curl)
- 关闭Linux系统的命令:shutdown(关闭启动linux的命令)
- Linux在嵌入式系统的应用(linux的嵌入式)
- 如何在Linux系统中压缩文件?(linux系统压缩文件)
- Linux配置SSL证书:快速通过安全连接保护系统(linux配置ssl证书)
- 流媒体在Linux系统上的应用分析(流媒体 linux)
- Linux下如何实现流量控制?快来了解吧!(linux下流量控制)
- 深入Linux线程监控运行机制(linux 线程 监控)
- 新时代:体验可爱的Linux系统在平板电脑上(平板装linux)