上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: hysaoh - 

python和shell的美妙结合

[复制链接]
  • TA的每日心情
    开心
    2024-2-28 14:15
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    37

    主题

    233

    回帖

    363

    积分

    版主

    积分
    363

    油中2周年生态建设者

    发表于 2022-9-18 20:17:15 | 显示全部楼层 | 阅读模式

    最近需要批量转换视频格式,看了看bat脚本的语法,%分号看的我头疼,个人感觉还是java和python的语法更加优美。
    翻了半天教程,终于搞好了这个脚本,请品鉴。
    核心方法就是cmd了,用的时候直接调用就好了。executable是你的shell的路径,这里我使用的是powershell,如果你只需要自带的shell,删掉这个参数就好了。

    import subprocess
    
    def cmd(command):
        global my_cwd
        r = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
                             executable="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", cwd=my_cwd)
        r.wait()
        if r.returncode == 0 and command.split(" ")[0] == "cd":
            my_cwd = command.split(" ")[1]
        elif r.returncode == 1:
            print("命令错误")
        word = r.communicate()[0].decode("gbk")
        if len(word) == 0:
            pass
        else:
            print(word.strip())
    
    if __name__ == '__main__':
        my_cwd = "C:\\"
        while True:
            a = input("路径:" + my_cwd + "\n请输入命令:")
            if a == "stop":
                break
            cmd(a)
    
    一叶叶,一声声,空阶滴到明。

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表