python os模块

在这里插入图片描述
使用os与系统交互,创建文件夹

import os;

def main():
    # 切换到d盘目录
    os.chdir("d:/");
    # os.system可以执行系统命令,创建一个testFile文件;
    os.system("md testFile")
    # os.getcwd() 获得磁盘名字
    print("{}-中创建了一个 testFile 子目录".format(os.getcwd()));


if __name__ == '__main__':
    main();

接受返回的执行结果

import os;

def main():
    fd = os.popen(cmd="echo 奥特曼打小怪兽",mode="r",buffering=2);
    val = fd.readline();
    while val:
        print(val,end="");
        val = fd.readline();


if __name__ == '__main__':
    main();

执行以下脚本会报错,没有权限,需要管理员权限运行cmd之后
运行你的python文件

import os;

def main():
	# 你的源文件
    src_path = "D:/testFile";
    # 要建立软连接的文件
    dst_path = "D:/testFile2";
    # 创建软连接
    os.symlink(src_path,dst_path);

if __name__ == '__main__':
    main();

os.path子模块
在这里插入图片描述
代码示例如下

import os;
PATH = "D:\\testFile\\微信图片_20210317161927.jpg";
def main():
    # 如果路劲存在
    if os.path.exists(PATH):
        print("绝对路径:{}".format(os.path.abspath(PATH)));
        print("父路径:{}".format(os.path.dirname(PATH)));
        print("文件名称:{}".format(os.path.basename(PATH)));
        print("文件大小:{}".format(os.path.getsize(PATH)));
        print("当前路径是否为文件:{}".format(os.path.isfile(PATH)));
        print("当前路径是否为目录:{}".format(os.path.isdir(PATH)));

if __name__ == '__main__':
    main();

~代表用户的根路径

import os;
def main():
    # ~代表用户的根路径
    print(os.path.expanduser("~"));

if __name__ == '__main__':
    main();
import os,time,datetime;
PATH = "D:\\testFile\\微信图片_20210317161927.jpg";
def main():
    # 如果路劲存在
    if os.path.exists(PATH):
        # 输出为时间戳
        print("文件创建时间:{}".format(os.path.getctime(PATH)));
        # 格式化日期
        print("文件创建时间:{}".format(datetime.datetime.strptime(time.ctime(os.path.getctime(PATH)),"%a %b %d %H:%M:%S %Y")));
        print("文件修改时间:{}".format(datetime.datetime.strptime(time.ctime(os.path.getmtime(PATH)),"%a %b %d %H:%M:%S %Y")));


if __name__ == '__main__':
    main();

os.path子模块中的变量
在这里插入图片描述
os.path.sep和os.sep是一样的

import os,time,datetime;
PATH_A = "D:"+os.path.sep+"testFile"+os.path.sep+"微信图片_20210317161927.jpg";
PATH_B = "D:"+os.sep+"testFile"+os.sep+"微信图片_20210317161927"+os.path.extsep+"jpg";
def main():
    # 判断两个路劲是否为同一个文件
    if os.path.samefile(PATH_A,PATH_B):
        print("两个路劲指向了同一个文件");

if __name__ == '__main__':
    main();

os目录操作方法
在这里插入图片描述
目录的创建删除

import os,time,datetime;
PATH = "D:"+os.path.sep+"testFile"+os.path.sep+"hello" + os.sep + "message";

def main():
    # 如果目录不存在
    if not os.path.exists(PATH):
        # 创建目录
        os.makedirs(PATH);
    else:
        # 如果存在就删除目录
        os.removedirs(PATH);
if __name__ == '__main__':
    main();

测试listdir得到当前用户下的子目录

import os;
PATH = os.path.expanduser("~");

def list_all(path):
    for per_path in os.listdir(path):
        print(per_path);

def main():
    list_all(PATH);
if __name__ == '__main__':
    main();

输出子目录下的子目录

import os;
PATH = os.path.expanduser("~");
# 不加try会报错PermissionError,因为有些文件就是不让访问的
def list_all(path):
    if os.path.isdir(path):
        try:
            for per_path in os.listdir(path):
                # 使用递归继续输出子目录下的子目录
                list_all(os.path.join(path, per_path));
        except BaseException as error:
            print(error);
    else:
        print(path);
def main():
    list_all(PATH);
if __name__ == '__main__':
    main();

优化版,python中的os提供了walk

import os;
PATH = os.path.expanduser("~");

def main():

    for path,dirnames,filenames in os.walk(PATH):
        print("文件路径:{},子目录列表:{},子文件列表:{}".format(path,dirnames,filenames));


if __name__ == '__main__':
    main();

进行文件名字的修改

import os;
SRC_PATH = "D:" + os.sep + "testFile";
DST_PATH = "D:" + os.sep + "testFile2";

def main():
    # 如果源目录存在,修改名字
    if os.path.exists(SRC_PATH):
        os.rename(SRC_PATH,DST_PATH);

if __name__ == '__main__':
    main();

上述教材来源于csdn python免费课堂

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值