十个必备 Python 与操作系统交互命令实践

开发 系统
本文将通过十基础到进阶的实践案例,帮助Python初学者掌握如何利用Python与操作系统进行有效沟通。

Python作为一门强大的编程语言,其与操作系统的交互能力是程序员日常开发中不可或缺的一部分。本文将通过10个基础到进阶的实践案例,帮助Python初学者掌握如何利用Python与操作系统进行有效沟通。我们将逐一探索这些命令,从简单的文件操作到复杂的进程管理。

1. 获取当前工作目录

import os
# 显示当前工作目录
current_dir = os.getcwd()

解释:os.getcwd()函数用于获取当前工作目录,这对于路径操作是一个很好的起点。

2. 改变工作目录

# 改变当前工作目录
new_dir = "/path/to/new/directory"
os.chdir(new_dir)
print(os.getcwd())

注意:确保提供的路径存在,否则会抛出异常。

3. 列出目录内容

# 列出指定目录下的所有文件和子目录
files = os.listdir('.')
for file in files:
    print(file)

小技巧:使用os.walk('.')可以递归地遍历目录树。

4. 创建与删除文件

# 创建文件
with open('test.txt', 'w') as f:
    f.write("Hello, World!")
    
# 删除文件
import os
os.remove('test.txt')

安全提示:删除文件前请确保这是你想要的操作,避免数据丢失。

5. 读写文件

# 读取文件
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
    
# 写入文件
with open('example.txt', 'a') as file:
    file.write("\nNew line added.")

模式说明:'r'表示读取,'w'覆盖写入,'a'追加写入。

6. 处理文件路径

import os.path
# 检查文件是否存在
file_path = "example.txt"
if os.path.exists(file_path):
    print("文件存在!")
else:
    print("文件不存在。")

扩展:os.path.join()和os.path.split()用于构建和拆分路径。

7. 执行系统命令

import subprocess
# 执行ls命令(Linux/Mac)或dir命令(Windows)
subprocess.run(['ls'])  # 或 subprocess.run(['dir'], shell=True)

跨平台:确保命令适用于你的操作系统环境。

8. 管理进程

import psutil
# 获取当前运行的所有进程列表
for proc in psutil.process_iter(['pid', 'name']):
    print(proc.info)

psutil库:提供了跨平台的方式来访问系统信息和进程管理。

9. 定时任务

from time import sleep
def greet():
    print("Hello, Python!")
    
# 模拟定时任务,每隔5秒执行一次
while True:
    greet()
    sleep(5)

实际应用:对于更复杂的定时任务,推荐使用schedule库。

10. 环境变量操作

import os
# 获取环境变量
print("PATH:", os.environ['PATH'])
# 设置环境变量(仅限于当前进程)
os.environ['NEW_VAR'] = 'value'
print(os.environ['NEW_VAR'])

注意:设置的环境变量不会持久化,重启Python解释器后消失。

好了,今天的分享就到这里了,我们下期见。如果本文对你有帮助,请动动你可爱的小手指点赞、转发、点个在看吧!

责任编辑:赵宁宁 来源: 手把手PythonAI编程
相关推荐

2024-10-09 16:52:50

操作系统Python

2024-09-30 11:38:30

Python操作系统

2024-06-03 09:00:00

Python代码

2024-05-28 08:00:00

Python操作系统命令

2023-01-11 12:06:15

2023-09-12 06:55:27

2023-09-28 21:22:10

2022-08-12 07:48:49

Argo容器

2023-12-06 18:06:37

Git开发

2024-09-23 16:49:32

2023-07-03 00:47:23

2023-12-26 14:46:14

2024-07-18 15:08:27

2024-04-08 14:33:18

2021-09-30 09:53:47

网络安全网络攻击网络威胁

2015-06-24 10:07:34

Java编码最佳实践

2024-03-28 10:31:07

CIOIT专业人士IT领导者

2023-02-24 14:28:56

2017-12-12 14:50:33

数据库MySQL命令

2010-04-22 14:11:05

Aix操作系统
点赞
收藏

51CTO技术栈公众号