关闭

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

发表于:2024-8-20 09:13

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:手把手PythonAI编程    来源:手把手PythonAI编程

  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解释器后消失。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2024软件测试行业从业人员调查问卷》,您的见解,行业的声音!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号