Python如何调用外部的exe程序!
Python如何调用外部的exe程序!
需求
一开始执行外部的exe的命令被写入xxx.cmd文件中
从python中调用该执行命令
- import os
- popen
1
2
3
4
5
6
7
8
9
|
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下的路径写法:
1
|
‘d: /test .txt' |
创建txt编码
如果直接右击创建文档, 默认的编码方式为ANSI–GBK编码方式,此时输入中文时,在打开txt文件时,需要表明encoding方式,否则会出现
"utf-16-le’ codec can’t decode bytes in position 118-119: illegal UTF-16 surrogate"
这样子的错误
1
|
with open ( "test.txt" , 'w' , encoding = 'utf-8' ) as f: |
或者
1
|
with open ( "test.txt" , 'w' , encoding = 'GBK' ) as f: |
打开时使用try和except
1
2
3
4
5
6
7
8
|
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界面中输出该反馈,提示用户
总结
以上为个人经验,希望能给大家一个参考。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。
共有 0 条评论