python需要jdk环境吗_用Python配置JDK环境

这段Python脚本主要用于在Windows环境下配置JDK的环境变量,包括JAVA_HOME, PATH和CLASSPATH。它会检查现有环境变量,如果已存在则更新,否则新建。脚本包含了设置、获取和更新环境变量的函数,并提供了重启资源管理器的功能。" 114280742,10295955,Java编程测试:标识符、编译与运行解析,"['Java编程', '程序设计', '编译原理', '面向对象', '异常处理']
摘要由CSDN通过智能技术生成

#!usr\bin\env python

# -*- coding: utf-8 -*-

'''

设置JDK的环境变量,基本逻辑:

若已有JAVA_HOME则替换其值,否则创建并添加PATH值

'''

import os

import sys

import optparse

if sys.platform == 'win32':

import _winreg #使用说明:https://docs.python.org/2/library/_winreg.html#

def configJDK(JDK_Path):

'''设置JDK的环境变量,输入JDK的安装路径'''

print("Now:")

showEnv(["JAVA_HOME","Path","CLASSPATH"])

print('\n')

setEnviron("JAVA_HOME",JDK_Path)

BinDir = "%JAVA_HOME%"+os.sep+"bin"

JreBinDir = "%JAVA_HOME%"+os.sep+"jre"+os.sep+"bin"

updataEnviron("Path",[BinDir,JreBinDir])

LibDir = "%JAVA_HOME%"+os.sep+"lib"

LibTools = "%JAVA_HOME%"+os.sep+"lib"+os.sep+"tools.jar"

updataEnviron("CLASSPATH",[os.curdir,LibDir,LibTools])

#rebotExplorer()

def setEnviron(Env,Paths):

print("Set %s = %s" % (Env,Paths))

if sys.platform == 'win32':

try:

EnvironmentKey = _winreg.OpenKey( _winreg.HKEY_CURRENT_USER, r"Environment")

_winreg.SetValue(EnvironmentKey, Env, _winreg.REG_SZ, Paths)

except WindowsError:

"Faile To Control Reg... Are You Administrator?"

sys.exit()

else:

print("Can't Work On your Platform Now!")

sys.exit()

def getEnviron(Env):

Paths = ''

print("Get Environment Variables: %s" % Env)

if sys.platform == 'win32':

try:

EnvironmentKey = _winreg.OpenKey( _winreg.HKEY_CURRENT_USER, r"Environment")

try:

Paths, type = _winreg.QueryValueEx(EnvironmentKey, Env)

except:

print("There Is No Environment Variables: %s" % Env )

print("Try To Make It")

Paths=''

setEnviron(Env,Paths)

print("%s = %s " % (Env,Paths) )

except:

print("Faile To Control Reg... Are You Administrator?")

sys.exit()

else:

Paths = os.environ.get(Env)

if Paths == None:

print("Can't Work On your Platform Now!")

sys.exit()

return Paths

def updataEnviron(Env,UpdateList):

'''用UpdateList的值来更新Env环境变量'''

print("\nUpdating Environ %s with %s" % (Env,' and '.join(UpdateList) ) )

OldPaths=getEnviron(Env)

NewPaths = []

if OldPaths != '':

for Path in OldPaths.split(os.pathsep):

if Path not in UpdateList:

NewPaths.append(Path)

NewPaths.extend(UpdateList)

setEnviron( Env, os.pathsep.join(NewPaths) )

def rebotExplorer():

os.system("taskkill /im explorer.exe /f")

os.system("ping -n 2 127.0.0.1 > nul")

os.system("start c:\windows\explorer.exe")

import time

time.sleep(3)

def showEnv(EnvList):

for Env in EnvList:

getEnviron( Env)

if __name__ == '__main__':

configJDK(os.path.abspath(os.curdir))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值