阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Python 对linux系统操作

131次阅读
没有评论

共计 2928 个字符,预计需要花费 8 分钟才能阅读完成。

一、os 中常用属性和方法

作用:包含了基本的操作系统功能,提供了非常丰富的方法用来处理文件和目录

  • 属性

    名称 说明
    name 操作系统的类型,nt 表示 windows,posix 表示 Linux、Unix
    uname 获取操作系统的信息,linux、Unix 下使用
    environ 获取系统中的环境变量,environ.get() 可以获取环境变量的值
    curdir 返回当前的目录
  • 方法

    名称 说明
    getcwd() 返回当前工作目录的绝对路径
    listdir() 返回指定目录下的所有文件和目录
    mkdir() 创建指定目录,注意目录已经存在时会报错,目录路径中存在不存在的层级时报错
    rmdir() 删除目录,注意目录不存在则报错
    rename() 重命名
    stat() 获取文件属性
    remove() 删除普通文件
    system() 运行 shell 命令
  • 示例

    import os # 操作系统的类型 # nt windows # posix Linux、Unix print(os.name) # 获取操作系统的信息,linux、Unix 下使用 print(os.uname()) # 获取系统中的环境变量 print(os.environ) # 获取指定环境变量的值 print(os.environ.get("PATH")) # 返回当前的目录 print(os.curdir) # 返回当前工作目录的绝对路径 print(os.getcwd()) # 返回指定目录下的所有文件和目录 print(os.listdir(r"C:\Users\sunck\Desktop\code")) # 创建指定目录,注意目录已经存在时会报错,目录路径中存在不存在的层级时报错 os.mkdir(r"C:\Users\sunck\Desktop\file") os.mkdir(r"C:\Users\sunck\Desktop\file\a\b") # 删除目录,注意目录不存在则报错 os.rmdir(r"C:\Users\sunck\Desktop\file") # 重命名 os.rename(r"C:\Users\sunck\Desktop\code\file1.txt", r"C:\Users\sunck\Desktop\code\file2.txt") # 获取文件属性 print(os.stat(r"C:\Users\sunck\Desktop\code\file2.txt")) # 删除普通文件 os.remove(r"C:\Users\sunck\Desktop\code\file2.txt") # 运行 shell 命令 os.system("notepad") os.system("shutdown -s -t 10") os.system("shutdown -a")

二、os.path 中常用方法

操作文件和目的函数一部分在 os 模块中,还有一部分在 os.path 中

名称 说明
abspath 返回指定路径的绝对路径
join 拼接路径(不论是否存在)
split 拆分路径(不论是否存在)
splitdrive 以路径第一个’/’ 为分隔,分隔驱动器名与路径
splitext 获取文件的扩展名(不论是否存在)
basename 获取目录或文件名(不论是否存在)
getsize 获取属性
getctime 获取属性
isdir 判断是否是目录
isfile 判断是否是文件
exists 判断目录和文件是否存在
isabs 判断是否是绝对路径(不论是否存在)
import os # 返回指定路径的绝对路径 print(os.path.abspath(".")) # 拼接路径(不论是否存在) print(os.path.join(r"C:\Users\sunck\Desktop\file", "a.txt")) # 拆分路径(不论是否存在) print(os.path.split(r"C:\Users\sunck\Desktop\file")) print(os.path.split(r"C:\Users\sunck\Desktop\file\sunck.txt")) # 以路径第一个 '/' 为分隔,分隔驱动器名与路径 print(os.path.splitdrive(r"C:\Users\sunck\Desktop\file")) print(os.path.splitdrive(r"C:\Users\sunck\Desktop\file\sunck.txt")) # 获取文件的扩展名(不论是否存在) print(os.path.splitext(r"C:\Users\sunck\Desktop\file")) print(os.path.splitext(r"C:\Users\sunck\Desktop\file\sunck.txt")) # 获取目录名(不论是否存在) print(os.path.basename(r"C:\Users\sunck\Desktop\file")) # 获取文件名(不论是否存在) print(os.path.basename(r"C:\Users\sunck\Desktop\file\sunck.txt")) # 获取属性 print(os.path.getsize(r"C:\Users\sunck\Desktop\code\test.py")) print(os.path.getctime(r"C:\Users\sunck\Desktop\code\test.py")) # 判断是否是目录 print(os.path.isdir(r"C:\Users\sunck\Desktop\code")) print(os.path.isdir(r"C:\Users\sunck\Desktop\file")) print(os.path.isdir(r"C:\Users\sunck\Desktop\code\test.py")) # 判断是否是文件 print(os.path.isfile(r"C:\Users\sunck\Desktop\code\test.py")) print(os.path.isfile(r"C:\Users\sunck\Desktop\code\1.txt")) print(os.path.isfile(r"C:\Users\sunck\Desktop\code")) # 判断目录和文件是否存在 print(os.path.exists(r"C:\Users\sunck\Desktop\code\test.py")) print(os.path.exists(r"C:\Users\sunck\Desktop\code\2.py")) print(os.path.exists(r"C:\Users\sunck\Desktop\code")) print(os.path.exists(r"C:\Users\sunck\Desktop\file")) # 判断是否是绝对路径(不论是否存在) print(os.path.isabs(r"C:\Users\sunck\Desktop\code")) print(os.path.isabs(r"C:\Users\sunck\Desktop\file")) print(os.path.isabs(r".\code"))

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-05-26发表,共计2928字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中