python - 如何从 Python 获取退出代码?
问题描述
我有一个python代码。我使用 cmd 文件来执行我的 python 代码。在 cmd 文件中,我将从我的 python 代码中获取错误级别。
infile = "FeatureByte.txt"
Array = ["6J", "yB", "ss", "11"]
with open(infile, "r") as input_file:
output_list = []
for rec in input_file.read().splitlines():
rec = rec[:-3]
FBlist = [rec[i:i+2] for i in range(0, len(rec), 2)]
output_list.append(FBlist)
print(output_list)
FBlist_set = set(FBlist)
Array_set = set (Array)
if Array_set & FBlist_set:
print ("Found")
exit(0)
else:
print ("Not Found")
exit(1)
这是我的 cmd 文件:
set logfile=C:\Users\Log.txt
set PYTHONPATH="C:\Users\AppData\Local\Programs\Python\Python37-32"
set PYTHONEXE="%PYTHONPATH%\Python -B"
"C:\Users\AppData\Local\Programs\Python\Python37-32\python.exe" -B C:\Users\Desktop\Pyth.py
echo %ERRORLEVEL% >> "%logfile%"
从这两个代码中,我总是在我的 Log.txt 文件中得到 1。
解决方案
我认为问题出在这一行:
if Array_set & FBlist_set:
print ("Found")
exit(0)
将其更改为:
if Array_set and FBlist_set:
print ("Found")
exit(0)
else:
print ("Not Found")
exit(1)
&
您使用的是按位运算符而不是逻辑运算符and
。因此,if
条件失败,您将进入作为状态代码else
返回给您的部分。exit(1)
推荐阅读
- arrays - 合并 Yaml 数组嵌套
- python-3.x - 训练损失和准确率不会改变——停留在一个值附近——Tensorflow
- python - 如何在python中找到掷骰子程序的最小值和最大值
- javascript - 如何在javascript中的进程之间共享列表
- mysql - 您如何使用 MySQL WITH RECURSIVE 制作分层帐户图表?
- node.js - ccxt 加密 API - 它是否支持 OAuth 访问令牌?
- python - 如何 !rm python_var(在 Jupyter 笔记本中)
- verilog - iverilog 模拟器如何解释我的 RAM 代码以确定“x”值?
- android - 忽略特定文件的 IconDensities lint 警告
- javascript - 如何在 CryptoJS 中使用私钥 (pem) 签署 JWT?