java调用shell获取错误信息_python学习笔记---linux/windows调用sas程序
--------仅用于个人学习知识整理和sas/R语言/python代码整理
--------文章使用数据都为脱敏模拟数据
1.windows下
1.1 安装sas kernel:
跑偏了一下 其实不用装sas_kernel的,这个是要在jupyter里用sas才会需要装
SAS岩论 | 在Jupyter Notebook中使用SAS
出现了报错
换镜像解决
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sas_kernel
出现报错 加 - -user解决
参考
解决在使用pip进行安装时的Could not install packages due to an EnvironmentError的问题
1.2 python中通过调用bat脚本运行sas
import
bat脚本的编写:
主要要注意路径(特别是work)及权限问题(linux下更明显)
"C:Program FilesSASHomeSASFoundation9.4sas.exe" -echoauto -nosplash -noovp -SYSIN
2.linux下
2.1 遇到的问题:
2.2.1. 调用sas时 在terminal中调用会遇到“SAS 启动期间未能附加至 Java”问题:
在和sas support联系后 其实是添加不启动图形化界面选项可以解决 : sas -nodms
2.2.2. sas在linux下显示乱码
使用./sas_u8 -nodms
2.2.3. 直接将opt/SASHome/SASFoundation/9.4/bin/sas_u8 挂载到bin下可以直接用sas调用
sudo ln -s /opt/SASHome/SASFoundation/9.4/bin/sas_u8 /bin/sas
2.2 py调用bash脚本
import os
import datetime
path_input='/home/test/'
timestamp=datetime.datetime.now().strftime('%Y-%m-%d_%H:%M:%S')
shell_code='{0}test.sh {0}test.sas /tmp/saslog/test_{1}.log'.format(path_input,timestamp)
val = os.popen(shell_code)
val.readlines()
bash脚本的编写:
#!/bin/bash