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界面中输出该反馈,提示用户
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Pytorch数据读取之Dataset和DataLoader知识总结
Dataset和DataLoader都是Pytorch里面读取数据的工具.现在对这两种工具做一个概括和总结,对正在学习Pytorch的小伙伴们很有帮助,需要的朋友可以参考下2021-05-05
使用Python打造专业演示文稿转换器(Markdown转PPT)
在日常工作中,我们经常需要将Markdown格式的文档转换为演示文稿,手动复制粘贴不仅繁琐,还容易出错,今天我们就来看看如何用Python开发一个功能完整的Markdown到PPTX转换器2025-07-07
python中pandas.DataFrame排除特定行方法示例
这篇文章主要给大家介绍了关于python中pandas.DataFrame排除特定行的方法,文中给出了详细的示例代码,相信对大家的理解和学习具有一定的参考价值,需要的朋友们下面来一起看看吧。2017-03-03
Python 使用PyQt5 完成选择文件或目录的对话框方法
今天小编就为大家分享一篇Python 使用PyQt5 完成选择文件或目录的对话框方法。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-06-06
python3使用logging包,如何把日志写到系统的rsyslog中
这篇文章主要介绍了python3使用logging包,如何把日志写到系统的rsyslog中的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-09-09
一步一步教你用Python pyglet仿制鸿蒙系统里的时钟
pyglet是一个面向Python的跨平台窗口、多媒体库,它可以用于创建游戏和多媒体应用程序,下面这篇文章主要给大家介绍了关于如何一步一步教你用Python pyglet仿制鸿蒙系统里的时钟,需要的朋友可以参考下2024-03-03


最新评论