我正在从数据库中读取数字数据,默认情况下它是作为字符串插入的,我正在应用规则来处理这些数字,但遇到的值类似于@echo %Server% PS_EXE="/cygdrive/powershell.exe"
@echo %Server% "wget user=%User% pwd= %pwd% http://artifactory/dev-package.zip"
@echo %Server% "sleep 20s"
或{{1 ,即
-1.03432e+006
当第一个条件读取值-1.03426e+006
时,会出现id transferred speed values
--- ------------------------
0 4
1 3
2 9
3 2
4 -1.03432e+006
5 -1.03427e+006
6 -1.03426e+006
7
8 12
def process_out_transferred_speed(value):
passed_values = []
failed_values = []
if value!= None or value!= " ":
if int(value) < 0 or int(value) > 48:
passed_values.append(value)
else:
failed_values.append(value)
问题,这是合理的,因为值为-1.03432e+006
并且它会转换为invalid literal for int() with base 10: '-1.03432e+006'
但是string
无法做到这一点,因为int
不支持此值。
我的问题是:如何确定此-1.03432e+006
的值类型,以便我可以插入规则来避免此问题?
答案 0 :(得分:1)
Pythonic的方法是尝试它并捕捉异常。
try:
int(value)
passed_values.append(value)
except ValueError:
failed_values.append(value)