我python 基础语法的路径没问题,环境变量也没问题。怎么显示语法错误啊。

请输入正确的邮箱
已有帐号请点击
帐号创建成功!
我们刚刚给你发送了一封验证邮件
请在48小时内查收邮件,并按照提示验证邮箱
感谢你对微口网的信任与支持
如果你没有收到邮件,请留意垃圾箱 或 重新发送
你输入的邮箱还未注册
还没有帐号请点击
你输入的邮箱还未注册
又想起来了?
邮件发送成功!
我们刚刚给你发送了一封邮件
请在5分钟内查收邮件,并按照提示重置密码
感谢你对微口网的信任与支持
如果你没有收到邮件,请留意垃圾箱 或 重新发送
对不起,你的帐号尚未验证
如果你没有收到邮件,请留意垃圾箱 或
意见与建议
请留下您的联系方式
* 留下您正确的联系方式,以便工作人员尽快与你取得联系
windows添加python环境变量脚本
在windows上安装过python的朋友都知道,python安装完毕后,默认是不能直接运行的,如果你在cmd窗口输入python,会提示: “python”不是内部或外部命令,也不是可运行的程序或批处理文件。这时需要我们手动添加python运行的环境变量,找到系统变量按钮,找到path,然后添加等,这是我们一般的做法,但今天我们所说的是如何用脚本的方式去实现添加环境变量,我们来看脚本:import sysimport osimport timeimport _winregimport ctypesdef extend(pypath):& & hKey = _winreg.OpenKey (_winreg.HKEY_LOCAL_MACHINE,&& & & & & & & &r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',&& & & & & & & &0, _winreg.KEY_READ | _winreg.KEY_SET_VALUE)& &&& & value, typ = _winreg.QueryValueEx (hKey, &PATH&)& & vals = value.split(';')& & assert isinstance(vals, list)& & if len(sys.argv) & 1 and sys.argv[1] == 'remove':& & & & try:& & & & & & vals.remove(pypath)& & & & except ValueError:& & & & & & print 'path element', pypath, 'not found'& & & & & & return& & & & print 'removing from PATH:', pypath& & else:& & & & if pypath in vals:& & & & & & print 'path element', pypath, 'already in PATH'& & & & & & return& & & & vals.append(pypath)& & & & print 'adding to PATH:', pypath& & _winreg.SetValueEx(hKey, &PATH&, 0, typ, ';'.join(vals) )& & _winreg.FlushKey(hKey)& & # notify other programs& & SendMessage = ctypes.windll.user32.SendMessageW& & HWND_BROADCAST = 0xFFFF& & WM_SETTINGCHANGE = 0x1A& & SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, u'Environment')& &&def find_python():&&& & hKey = _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT,&& & & & & & & & & & & & & &r'Python.File\shell\open\command')&& & # get the default value& & value, typ = _winreg.QueryValueEx (hKey, None)& & program = value.split('&')[1]& & if not program.lower().endswith(r'\python.exe'):& & & & return None& & return os.path.dirname(program)& &&pypath=find_python()extend(pypath)脚本解释,前几行是导入用到的模块,其中_winreg模块是操作windows注册表的用的,ctypes模块用来调用windows接口;然后是两个函数extend()函数如果没参数是加入python环境变量,如果加入remove参数,将代表移除python环境变量,其中&SendMessage = ctypes.windll.user32.SendMessageW这行解释下,windll就是动态连接库加载对象,user32是Windows提供的WIN32的API接口的动态连接库的名称,MessageBoxW是WIN32提供的弹出一个提示框的函数名称;find_python()函数是返回python路径,最后是先用find_python()函数找出python的路径,然后调用extend()函数进行加入。
15人赞过此文
浏览器扫一扫
分享到朋友圈
社会化媒体
了解更多>>
桂ICP备 号-1
桂公网安备 36号
阅读下一篇
今天阿尔法狗又赢李世石一局的消息都快刷爆朋友圈了,不得不说这2年人工智能发展真是迅速,我最早看
Hi,看起来你很喜欢这些内容,但是你还没有登录!在你登录以后,就可以收藏感兴趣的内容,关注感兴趣的作者!2012年1月 其他开发语言大版内专家分月排行榜第二2011年5月 其他开发语言大版内专家分月排行榜第二2010年12月 其他开发语言大版内专家分月排行榜第二2009年2月 其他开发语言大版内专家分月排行榜第二2008年9月 其他开发语言大版内专家分月排行榜第二2008年8月 其他开发语言大版内专家分月排行榜第二2008年5月 其他开发语言大版内专家分月排行榜第二2007年11月 其他开发语言大版内专家分月排行榜第二
2011年4月 其他开发语言大版内专家分月排行榜第三2011年1月 其他开发语言大版内专家分月排行榜第三2009年6月 其他开发语言大版内专家分月排行榜第三2009年4月 其他开发语言大版内专家分月排行榜第三2009年1月 其他开发语言大版内专家分月排行榜第三2008年11月 其他开发语言大版内专家分月排行榜第三2008年7月 其他开发语言大版内专家分月排行榜第三2008年6月 其他开发语言大版内专家分月排行榜第三2006年9月 其他开发语言大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 python 路径变量 的文章

 

随机推荐