windows批处理set命令
[设置变量]
格式:set 变量名=变量值
详细:被设定的变量以%变量名%引用
训练时 bat文件设置环境变量 set TRAIN_INFO_ROOT_DIR=D:\SVN\PaddleX_Train\test_workspace set TRAIN_INFO_TRAIN_LIST=seg_optic_disc\04_datasets\train_list.txt set TRAIN_INFO_VAL_LIST=seg_optic_disc\04_datasets\val_list.txt set TRAIN_INFO_CKPT_SAVE_PATH=seg_optic_disc\05_ckpt\ set TRAIN_INFO_LABELS_LIST=seg_optic_disc\04_datasets\labels.txt set TRAIN_INFO_TRAIN_PARAMS_XML=seg_optic_disc\04_datasets\train_params.xml set TRAIN_INFO_SID=0 set TRAIN_INFO_IP=127.0.0.1 set TRAIN_INFO_PORT=9977 set TRAIN_INFO_GPU=0 python seg/train.py批处理命令——set
代码 D:smartibw_pdxclisegtrain.bat
Python 获取环境变量
参考代码D:smartibw_pdxjcutilsconfig.py
- os.environ
在python 中,通过 os.environ 获取环境变量。
什么是环境变量呢?环境变量是程序和操作系统之间的通信方式。
例如:
os.environ[‘HOMEPATH’]:当前用户主目录。
os.environ[‘TEMP‘]:临时目录路径。
os.environ[PATHEXT’]:可执行文件。
os.environ[‘SYSTEMROOT‘]:系统主目录。
os.environ[‘LOGONSERVER’]:机器名。
os.environ[‘prompt’]:设置提示符。os.environ.get() 用法
import os
print(os.environ.get(“HOME”))参考
python中os.environ的使用详解
这里的config是自定义的, 不是python内置的ConfigParser类,不要搞混了
pyhton的组织方法- 模块 : 一个 .py 文件就称为一个模块(module)。包 :从物理上看,包就是一个文件夹,在该文件夹下包含了一个_init__.py 文件,该文件夹可用于包含多个模块源文件
Python包及其定义和引用详解
我们在某个包下面,新建一个 configbase.py文件,可以是空文件。它表示一个模块。模块可以有自己的属性和函数,并且这个属性和函数可以被外部获取和修改。
思路 将模块configbase 重命名为 config,可以添加,获取属性
看下面的例子:
import configbase as config setattr(config,"key","velue") print(config.key)
Python如何创建一个模块?以及模块导入
训练时调用def set_config(config):
for k,v in os.environ.items(): //获取设置的变量
if k.startswith("TRAIN_INFO_"): //获取所有用TRAIN_INFO_的环境变量(用以区分系统变量和自己设置的变量)
k = k[len("TRAIN_INFO_"):] // 截取字符串:去掉TRAIN_INFO_的字符串
setattr(config,k,v) //把 k v 存到 config
print("set env attr",k,v)
return config
def train_process(config): //使用上面的config
configattr = [c for c in dir(config) if not c.startswith("__")]
for i in configattr:
print(i,getattr(config,i))
head = config.ROOT_DIR



