2. python os模块

 


2. python os模块

1.文件和目录操作

1)os.listdir(path) 列出指定目录下的所有文件和子目录。

import os
files_and_dirs = os.listdir("/home/user")
print(files_and_dirs)

2)os.mkdir(path,mode=0o777) 创建一个目录

os.mkdir("/home/user/newdir", mode=0o755)

3)os.makedirs(path,mode=0o777,exist_ok=False) 递归创建多级目录。

os.makedirs("/home/user/newdir/subdir", exist_ok=True)

4)os.rmdir(path) 删除一个空目录

os.rmdir("/home/user/newdir")

5)os.removedirs(path) 递归删除空目录

os.removedirs("/home/user/newdir/subdir")

6)os.rename(src,dst) 重命名文件或目录

os.rename("/home/user/oldname.txt", "/home/user/newname.txt")

7)os.remove(path) 删除文件

os.remove("/home/user/file.txt")

6)os.chmod(path,mode) 修改文件或目录的权限

os.chmod("/home/user/file.txt", 0o755)

7)os.chown(path,uid,gid) 修改文件或目录的所有者

os.chown("/home/user/file.txt", 1000, 1000)

8)os.symlink(src,dst) 创建符号链接

os.symlink("/home/user/file.txt", "/home/user/link.txt")

9)os.readlink(path) 获取符号链接的目标路径

target = os.readlink("/home/user/link.txt")
print(target)

2.文件属性和状态

1)os.path.exists(path) 检查路径是否存在

if os.path.exists("/home/user/file.txt"):
    print("File exists")

2)os.path.isfile(path) 检查路径是否是普通文件

if os.path.isfile("/home/user/file.txt"):
    print("It's a file")

3)os.path.isdir(path) 检查路径目录是否存在

if os.path.isdir("/home/user"):
    print("It's a directory")

4)os.path.getsize(path) 获取文件大小(字节)

size = os.path.getsize("/home/user/file.txt")
print(f"File size: {size} bytes")

5)os.path.getmtime(path) 获取文件最后修改的时间(时间戳)

import time
mtime = os.path.getmtime("/home/user/file.txt")
print(time.ctime(mtime))

3.环境变量和路径的操作

1)os.environ 获取环境变量。

home_dir = os.environ.get("HOME")
print(home_dir)

2)os.path.join(path,*paths) 安全的拼接路径

full_path = os.path.join("/home", "user", "file.txt")
print(full_path)

3)os.path.abspath(path) 获取路径的绝对路径

abs_path = os.path.abspath("file.txt")
print(abs_path)

4)os.path.basename(path) 获取路径中的文件名部分

filename = os.path.basename("/home/user/file.txt")
print(filename)

5)os.path.dirname(path) 获取路径中的目录部分

dirname = os.path.dirname("/home/user/file.txt")
print(dirname)

4.进程和系统操作

1)os.system(command) 执行系统命令

os.system("ls -l")

2)os.fork() 创建子进程

pid = os.fork()
if pid == 0:
    print("Child process")
else:
    print("Parent process")

3)os.kill(pid,sig) 发送信号到进程

os.kill(pid, signal.SIGTERM)

4)os.wait() 等待子进程结束

os.fork()
os.wait()
posted @   逃离这世界~  阅读(0)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示

目录导航