我正在使用自动化框架,经过多次迭代后我得到随机错误,如下所示。有人可以帮我理解这可能对应的内容!!
_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']
答案 0 :(得分:2)
您创建的路径太长,操作系统不再接受更长的环境变量。
仅一次扩展路径。测试您添加的路径是否存在:
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'])
此代码仅添加新元素(如果尚未存在)。
答案 1 :(得分:1)
在路径的最后"/"
中再添加一个"/"
,例如:
open('C:\Python34\book.csv')
至open('C:\Python34\\\book.csv')
答案 2 :(得分: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