温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么利用python实现windows的批处理及文件夹操作

发布时间:2022-01-04 12:55:54 来源:亿速云 阅读:137 作者:柒染 栏目:开发技术

今天就跟大家聊聊有关怎么利用python实现windows的批处理及文件夹操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

    1.批量处理

    所谓的批处理就是批量处理cmd里面的命令。

    python要想实现批处理功能需要导入os库,然后利用批处理的命令为os.system(cmd_line)其中cmd_line是输入cmd里面的命令。

    import os
    # 批量处理的exe文件
    EXE_PATH="C:\\Users\\AAA\\Desktop\\0001\\TAppDecoder.exe"
    h365_dir="D:\\YUVView\\media_h365.h365"
    outyuv_dir=".yuv"
    #利用标识符%s,和“%s”分别表示需要运行的exe文件和需要传入的路径
    #cmd_line 为cmd输入的命令(其中exe,和路径用标识符导入)
    cmd_line='%s -b "%s" -o "%s"' %(EXE_PATH,h365_dir,outyuv_dir)
    #ret 是0则证明cmd运行成功,是1则证明运行失败
    ret=os.system(cmd_line)

    2. 文件夹操作

    2.1 读取文件中的文件名

    读取文件中的文件名直接用for file in os.listdir(path)就能读取path路径中所有的文件名。如果需要去除文件名的后缀首先需要输入from pathlib import Path 导入Path库,然后输入Path(file_path).stem其中file_path 为文件的路径。

    import os
    #导入的Path,可以读取除去后缀名后的文件名并以str形式保存
    from pathlib import Path 
    # 需要读取的文件目录
    path="******"
    somethings=os.listdir(path)
    for file_1 in somethings:
        #如果是windows系统用"\\" 如果是linux系统用"/",注:以下以windows系统为例
        #这里是更新目录路径 到path的子目录路径
        path_1=path+"\\"+file_1
        somethings_1=os.listdir(path_1)
        # r如果只有两层目录到此位置,如果有三层乃至更多需要不断增加迭代层数。
        for file_2 in somethings:
            #这时候的file_2就是带有后缀名的文件。
            file_2
            file_2path=path_1+"\\"+file_2
            #为了获得file_2的名字(没有后缀名)filename类型为str
            filename=Path(file_2path).stem
            # 取filename的前两个字符
            filename[0:1]

    2.2 创建文件夹

    首先用os.path.exists(path)判断是否存在(返回0代表不存在),创建文件夹使用os.makedirs(path)。

    import os
    # 如果没有path文件夹,就建一个文件夹
    path="*****"
    if not os.path.exists(path):
        os.makedirs(path)

    2.3、获取某指定目录下的所有文件的列表

    def getFileList( p ):
            p = str( p )
            if p=="":
                  return [ ]
            p = p.replace( "/","\\")
            if p[ -1] != "\\":
                 p = p+"\\"
            a = os.listdir( p )
            b = [ x   for x in a if os.path.isfile( p + x ) ]
            return b
    print   getFileList( "C:\\" )

    2.4、将一个路径名分解为目录名和文件名两部分

    fpath , fname = os.path.split( "你要分解的路径")

    例如:

    a, b = os.path.split('ZC/Download/data/zc.txt' )  #以最后一个/为界分割
    print a
    print b

    显示:  

    ZC/Download/data
    c.txt

    看完上述内容,你们对怎么利用python实现windows的批处理及文件夹操作有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI