【Error】IOError: [Errno 22] invalid mode ('wb') or filename

错误描述:

IOError: [Errno 22] invalid mode ('wb') or filename: 'C:\\Users\\Viral Patel\\Documents\\GitHub\\3DPhotovoltaics\\Data_Output\\Simulation_Data\\Raw_Data\\Raw_Simulation_Data_2014-03-24 17:21:20.545000.csv'

解决方案:

这个主要是文件名、路径中含有反转字符,具体请参照Naming Files, Paths, and Namespaces,路径中不要包含以下字符:

  • < (less than)
  • > (greater than)
  • : (colon)
  • " (double quote)
  • / (forward slash)
  • \ (backslash)
  • | (vertical bar or pipe)
  • ? (question mark)
  • * (asterisk)

两种解决方式:

  • 使用原生字符串

     r'path\regionlog.txt'
  • 去掉这些字符

     #coding: utf-8
    
     import re
    
     str1 = u'###现在开始,PM2.5小#米4 已经降到1299元! <a href="http://weibo.cn/sinaurl?f=w&amp;u=http%3A%2F%2Ft.cn%2FRAJVndT&amp;ep=D1Kpp8vLx%2C1749127163%2CD1Kpp8vLx%2C1749127163">http://t.cn/RAJVndT</a>'
    str2 = u'【设计之美,美到不可%%思议】彩虹五号\n电池,采用\日本Maxell 电池核芯,电量充足,而且是碱性环保电池,无汞无镉,每盒十节才 9.9元,送收纳盒。小米网现货 <a href="http://weibo.cn/sinaurl?f=w&amp;u=http%3A%2F%2Ft.cn%2FRzlIR1U&amp;ep=D1lQnDS5B%2C1749127163%2CD1lQnDS5B%2C1749127163">http://t.cn/RzlIR1U</a>'
    str3 = u'【小米电视3 新增55英寸,仅3999元】原装LG/三星屏真4K,全金属机身薄至9.9mm, 旗舰处理器,配MEMC运动图像补偿芯片,标配独立音响。【小米盒子3】全新升级64位4K网络机顶盒,标配小米蓝牙语音体感遥控,仅299元。'
    str4 = u'小米生态链企业Ninebot CEO<a href="/n/%E9%AB%98%E7%A6%84%E5%B3%B0">@高禄峰</a> 告诉我,九号平衡车,截至现在预约量已突破40万台。大家别忘了明天首发,现在预约 <a href="http://weibo.cn/sinaurl?f=w&amp;u=http%3A%2F%2Ft.cn%2FRzlIR1U&amp;ep=D20GP9Zio%2C1749127163%2CD20GP9Zio%2C1749127163">http://t.cn/RzlIR1U</a>'
    str5 = u'小米优惠多得数不清,力度也是空前的,我请同事整理一份完整的优惠清单供大家参考……'
    str6 = u'<a href=/n/E69D8EE5ADA6E5878C>@李学凌</a> 试玩九号平衡车第一次就搞定他说广告词应该改成零秒上手挤眼'
    str7 = u'原创】国产 5 P 聚会,人齐了就正式开始吧~(第二部)【37P】' pattern = re.compile('(<a href=\\S+</a>)|(@\\S+)') #content = weibo['content'].replace('http://', '!#$%&')\
    # .split('//')[0].replace('!#$%&', 'http://')\
    # .strip()
    #content = pattern.sub('', weibo['content']).split('//', 1)[0].strip()
    punct = set(u''':!),:;?]}¢'"、。〉》」』】〕〗〞︰︱︳/\ ﹐、#$%&
    ﹔﹕﹖﹗﹚﹜﹞!),:;?|}︴︶︸︺︼︾﹀﹂﹄﹏、~¢
    々‖•·ˇˉ―--′’”([{£¥'"‵〈《「『【〔〖([{£¥〝︵︷︹︻
    ︽︿﹁﹃﹙﹛﹝({“‘-—_…''') # 对str/unicode
    filterpunt = lambda s: ''.join(filter(lambda x: x not in punct, s))
    #print pattern.sub('', str6)
    print filterpunt(pattern.sub('', str2)).strip()
    print filterpunt(str7).strip()

参考###

上一篇:BAT及各大互联网公司2014前端笔试面试题


下一篇:Java多线程优化方法及使用方式