布尔值在cyclone,配置表工作簿,python之间的传输
1
从cyclone到配置表
2
从配置表到python
2.1 读取配置表-布尔值类型直接传输
2.2 读取配置表-astype(str)转化为字符串
True转换为"1.0" 需转换为整数字符串再判断
也有可能是字符串"True" 需通过=="True"进行判断,见2.3
由于这种不确定性(可能是"1.0", 可能是"True") 需要谨慎,以后再思考这个问题
2.3 读取配置表-布尔值字符串
使用
distutils
库https://blog.csdn.net/weixin_48447848/article/details/122772528
在python中,除了‘’、""、0、()、[]、{}、None为False, 其他转换都为True
https://blog.csdn.net/muzizongheng/article/details/9368409
def str_to_bool(str): return True if str.lower() == 'true' else False
3
从python到配置表
'''传输参数-未全部下载'''
def fun_TransferParameter_NotAllDownloaded():
# 解除后台占用
os.system("taskkill /f /im excel.exe")
# 写入配置表-其他单元格保持不动
app = xw.App(visible=False, add_book=False)
app.display_alerts = False
app.screen_updating = False
wb = app.books.open(str_addr_configuration)
sht = wb.sheets["传输参数"]
sht.range("B3").value = False
wb.save(str_addr_configuration)
wb.close()
app.kill()
4
从配置表到cyclone
4.1 布尔值-读取配置表-写入字典-字典内部类型字符串
cyclone步骤示意
读取配置表-写入字典-字典内部类型==string
创建bool_变量,类型==Boolean
if dic_配置表.get(bool_变量).changeCase("lowerCase") == "true":
bool_变量 = true # cyclone中布尔值以小写形式
else:
bool_遍历 = false
4.2 其他字符串 与上述类似
创建bool_变量,类型==Boolean
if dic_配置表.get(bool_变量).changeCase("lowerCase") == 指定字符串:
bool_变量 = true
4.3 也可不用赋值变量, 直接用的时候进行if判断就好了