4

我正在使用自动化框架,经过多次迭代后出现随机错误,如下所示。有人可以帮我理解这可能对应什么!

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

3 回答 3

4

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

仅将路径延长一次。测试您正在添加的路径是否存在:

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

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

于 2013-06-30T17:09:43.300 回答
1

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

于 2016-01-05T16:16:22.160 回答
0

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

例如 FILEPATH:E:\android\new_dir\raw_data\books\Harry.csv应该写成 E:\\android\\new_dir\\raw_data\\books\Harry.csv

于 2017-12-28T13:42:29.463 回答