Python错误:OSError:[Errno 22]参数无效

2024-05-03 01:34:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是一个自动化框架,经过多次迭代后,我得到了随机错误,如下所示。有人能帮我理解这是什么意思吗!!

_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

失败的函数调用:

功能:

    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']

Tags: pathnamepy框架oslib错误environ
3条回答

在路径的最后一个"/"中再添加一个"/",例如: open('C:\Python34\book.csv')open('C:\Python34\\\book.csv')

避免在目录路径中包含特殊字符,如\a、\b、\t、\n、\r。必要时可使用双斜杠。例如\a、\b、\t、\n、\r

例如,文件路径:E:\android\new_dir\raw_data\books\Harry.csv应写为 E:\\android\\new_dir\\raw_data\\books\Harry.csv

您创建的路径太长,操作系统不再接受更长的环境变量。

只扩展路径一次。测试要添加的路径是否存在:

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'])

此代码仅在尚未出现时添加新元素。

相关问题 更多 >