Python错误:OSError:[Errno 22]参数无效 [英] Python Error: OSError: [Errno 22] Invalid argument

查看:1124
本文介绍了Python错误:OSError:[Errno 22]参数无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用一个自动化框架,我经历了许多迭代之后的随机错误,如下所示。有人可以帮助我了解这可能对应于什么!!

  _os.environ ['PATH'] = r'C:\\ \\ DAL;'+ _os.environ ['PATH'] 
文件c:\Python26\lib\os.py,第420行,__setitem__
putenv(key,item)
OSError:[Errno 22]参数无效

函数调用失败的地方:



功能:

  plugin_xml_file_name = plugin_name 
else:
plugin_xml_file_name = plugin_path +\\+ plugin_name


_os.environ ['PATH'] = r'C:\Intel\DAL;'+ _os.environ ['PATH']
_os.environ ['PATH'] = r'C:\intel\dal;'+ _os.environ ['PATH']
_os.environ ['PATH' ] = _lakemore_path +';'+ _os.environ ['PATH']
_os.environ ['PATH'] = plugin_path +';'+ _os.environ ['PATH']


解决方案

您正在创建太长的ap运动和操作系统不再接受更长的环境变量。



只需扩展路径 。测试您添加的路径的存在:

  path = _os.environ ['PATH']。split(_os。 (r'C:\Intel\DAL',r'C:\intel\dal',_lakemore_path,plugin_path)
如果额外不在路径中:
b $ b _os.environ ['PATH'] = _os.pathsep.join(extra,_os.environ ['PATH'])

此代码仅在尚未存在的情况下才添加新元素。


I am using an automation framework and I am getting random error after many iterations which is as follows. Can someone help me understand what this could correspond to !!

_os.environ['PATH'] = r'C:\DAL;' + _os.environ['PATH']
  File "c:\Python26\lib\os.py", line 420, in __setitem__
    putenv(key, item)
OSError: [Errno 22] Invalid argument

Function Call where it fails:

function:

    plugin_xml_file_name = plugin_name
else:
    plugin_xml_file_name = plugin_path + "\\" + plugin_name
#

_os.environ['PATH'] = r'C:\Intel\DAL;' + _os.environ['PATH']
_os.environ['PATH'] = r'C:\intel\dal;' + _os.environ['PATH']
_os.environ['PATH'] = _lakemore_path + ';' + _os.environ['PATH']
_os.environ['PATH'] = plugin_path + ';' + _os.environ['PATH']

解决方案

You are creating too long a path and the OS no longer accepts a longer environment variable.

Extend the path only once. Test for the presence of the paths you are adding:

path = _os.environ['PATH'].split(_os.pathsep)
for extra in (r'C:\Intel\DAL', r'C:\intel\dal', _lakemore_path, plugin_path):
    if extra not in path:
        _os.environ['PATH'] = _os.pathsep.join(extra, _os.environ['PATH'])

This code only adds new elements if not already present.

这篇关于Python错误:OSError:[Errno 22]参数无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆