python自动配置java环境(linux)

来源:互联网 发布:软件开发文档控制程序 编辑:程序博客网 时间:2024/06/07 06:48
# -*- coding:utf8 -*-import requestsimport gzipimport tarfileimport osimport shutilimport getpassimport timeurl = "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz"filename = "jdk.tar.gz"class JavaEnv:    def __init__(self,url,filename):        self.url = url        self.filename =filename    def downloadJdk(self):        print("downloading jdk .....")        try:            r = requests.get(self.url)            with open(self.filename,"wb") as jdk:                jdk.write(r.content)        except Exception as e:            print(e)        jdk.close()        time.sleep(1)    def ungzip(self):        mtarfile = self.filename.replace(".gz","")        tmpfile = gzip.GzipFile(self.filename)        try:            with open(mtarfile,"wb") as tfile:                tfile.write(tmpfile.read())        except Exception as e:            print(e)        tfile.close()    def untar(self):        mtarfile = self.filename.replace(".gz","")        tar = tarfile.open(mtarfile)        filenames = tar.getnames()        if os.path.isdir(mtarfile.replace(".tar","")+"_files"):            pass        else:            os.mkdir(mtarfile.replace(".tar","")+"_files")        for name in filenames:            try:                tar.extract(name,mtarfile.replace(".tar","")+"_files")            except Exception as e:                print(e)        tar.close()    def configjdk(self):        dir = self.filename.replace(".gz","").replace(".tar","")+"_files"        dirs = os.listdir(dir)        for d in dirs:            realdir = d        try:            user = getpass.getuser()            shutil.copytree("./"+dir+"/"+realdir,"/home/"+user+"/"+realdir)            shutil.rmtree("./"+dir)        except Exception as e:            print(e)        try:            with open("/home/"+user+"/.profile","a+") as profile:                profile.write("export JAVA_HOME=/home/"+user+"/"+realdir)                profile.write("\n")                profile.write("export PATH=$PATH:/home/"+user+"/"+realdir+"/bin")        except Exception as e:            print(e)        profile.close()        os.system("source /home/"+user+"/.profile")    def clean(self):        try:            os.remove(self.filename)            os.remove(self.filename.replace(".gz",""))        except Exception as e:            print(e)env = JavaEnv(url,filename)env.downloadJdk()env.ungzip()env.untar()env.clean()env.configjdk()

1.如何使用:

配置好python3的环境pip3 install requestspython3 文件名
原创粉丝点击