python如何调用外部的exe程序

 更新时间:2025年02月05日 09:22:02   作者:wjjontheway  
本文介绍了在Python中执行外部exe命令时遇到的问题及解决方法,包括路径写法、中文输出乱码以及文件编码等问题,并提供了一些个人经验

需求

一开始执行外部的exe的命令被写入xxx.cmd文件中

从python中调用该执行命令

  • import os
  • popen
import os

def run_GenrateTexts(file_name):
    cmd = '.\\tool\\TranslationDir\\TranslationConsole.exe '
    cmd = cmd + file_name + ' . 60'
    print(cmd)
    res = os.popen(cmd)
    output_str = res.read()
    print(output_str)

注意

一开始写的时候,不知道要反斜杠需要加两个斜杠==\\==而出现无法运行的情况

未解决

output_str为执行返回的结果,但是当有中文输出时,在console端显示为乱码

路径的写法

在windows中,读取文件可以用‘\’,但是在字符串中,’'是被当做转义字符来使用的,所以‘d:\test.txt’会被转成‘d:\a.txt’这是正确路径,所以不会报错。

而如果文件中带了\t可能就转义成tab键了。或者\n可能转成换行。

遇到过这样子的错误

[Error 22] Invalid argument: 'D:\\xxx\\yyy\\zzz\\abc.cmd'  

使用Linux下的路径写法:

‘d:/test.txt'

创建txt编码

如果直接右击创建文档, 默认的编码方式为ANSI–GBK编码方式,此时输入中文时,在打开txt文件时,需要表明encoding方式,否则会出现

"utf-16-le’ codec can’t decode bytes in position 118-119: illegal UTF-16 surrogate"

这样子的错误

 with open("test.txt", 'w', encoding='utf-8') as f:

或者

 with open("test.txt", 'w', encoding='GBK') as f:

打开时使用try和except

def my_file_open(file_path):
    try:
        f = open(file_path, 'r', encoding='utf-8')
        convert_cmd = f.read()
        print(convert_cmd)
        f.close()
    except Exception as e:
        print(e)

如果文不存在或者文件错误,此时可以通过except方式返回给用户,或者在UI界面中输出该反馈,提示用户

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python库JsonSchema验证JSON数据结构使用详解

    python库JsonSchema验证JSON数据结构使用详解

    这篇文章主要为大家介绍了python库JsonSchema验证JSON数据结构的使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python接口自动化浅析pymysql数据库操作流程

    Python接口自动化浅析pymysql数据库操作流程

    本文主要介绍pymysql安装、操作流程、语法基础及封装操作数据库类,需要的朋友可以参考下,希望能对大家有所帮助,每日提升一点点,欢迎大家多多交流讨论
    2021-08-08
  • Python callable()函数用法实例分析

    Python callable()函数用法实例分析

    这篇文章主要介绍了Python callable()函数用法,结合实例形式分析了Python callable()函数的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-03-03
  • 使用pandas库对csv文件进行筛选保存

    使用pandas库对csv文件进行筛选保存

    这篇文章主要介绍了使用pandas库对csv文件进行筛选保存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • python pandas库的安装和创建

    python pandas库的安装和创建

    这篇文章主要介绍了python pandas库的安装和创建,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • python笔记(2)

    python笔记(2)

    python笔记,参考上一篇文章大家继续
    2012-10-10
  • Pillow图像颜色处理的具体使用

    Pillow图像颜色处理的具体使用

    Pillow 提供了颜色处理模块 ImageColor,该模块支持不同格式的颜色,可以修改RGB的颜色,具有一定的参考价值,感兴趣的可以了解一下
    2021-11-11
  • 解决pycharm不能自动保存在远程linux中的问题

    解决pycharm不能自动保存在远程linux中的问题

    这篇文章主要介绍了解决pycharm不能自动保存在远程linux中的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Python多叉树的构造及取出节点数据(treelib)的方法

    Python多叉树的构造及取出节点数据(treelib)的方法

    今天小编就为大家分享一篇Python多叉树的构造及取出节点数据(treelib)的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • keras tensorflow 实现在python下多进程运行

    keras tensorflow 实现在python下多进程运行

    今天小编就为大家分享一篇keras tensorflow 实现在python下多进程运行,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论