python 在windows下创建文件IOError的一个原因
来源:互联网 发布:马拉多纳 数据 编辑:程序博客网 时间:2024/04/30 07:13
今天在测试python程序时,按照书本上的例子来测试。在win7下始终会报一个IOError的异常,所用的开发工具为eclipse+pydev。
例子如下:
'''Created on 2013-3-31@author: kazeik'''import os if __name__ == '__main__': passls = os.linesepprint type(ls)print lsfname="d:\test.txt"all = []while True: if os.path.exists(fname): print "error" else: breakprint "\nEnter lines ( by itslf to quit).\n"while True: entry=raw_input("> ") if entry==".": break else: all.append(entry) fobj = open(fname,"w")fobj.writelines(['%s%s' % (x,ls) for x in all])fobj.close()print "DONE"
所报的异常如下:
Traceback (most recent call last): File "D:\USER\j2ee\workspace\P_test\src\MakeTextFile.py", line 35, in <module> fobj = open(fname,"w")IOError: [Errno 22] invalid mode ('w') or filename: 'd:\test.txt'
不解其原因为何。在网上搜索了一下,网上的解答如下:
【解答】
路径是字符串,里面包含了个\t,是个转义符号,所以文件路径有问题。win下路径分隔符用的是反斜杠导致了这个问题。
你改成这样 f = open(r'F:\Dropbox\python\test.txt', 'r') 。在字符串前加r,声明为raw字符串,这样就不会处理其中的转义了。
于是修改代码中的fname
将fname改成如下:
fname=r"d:\test.txt"这时控制台不再报错,运行通过;
另外,python是门解释型语言,所编写的代码一定要随手保存再运行。不然运行结果会不对,这个习惯我遇上好多次了;
- python 在windows下创建文件IOError的一个原因
- 在Windows下创建以“.”开头的文件
- 在Windows下创建以点开头的.hatccess文件
- .babelrc文件在windows系统下的创建方式
- windows下编辑的文件在linux下打开后会有很多^M?什么原因,如何去掉?
- android在当前app的目录下创建一个文件
- 在windows下创建.gitignore文件
- python在windows下 完成文件备份的例子
- 同一个文件在windows和linux下计算md5哈希不一致的原因
- 同一个文件在windows和linux下计算md5哈希不一致的原因
- Python 文件操作 IOError Errno 0
- python在提示符下使用open打开文件失败原因
- python windows环境下 pip install itchat 失败的原因
- 在Linux下访问windows共享文件并创建中文文件的方法
- Python:创建一个新的文件
- 输入$ python text.py出错的原因——在windows系统使用idle的情况下
- windows下创建特殊的文件
- windows下的DLL文件创建
- JTable中设置多个按钮,并且启用/禁用相应按钮
- linux终端乱码解决方案
- cis和ccd有什么技术区别啊
- Eclipse使用技巧
- Android WIFI的管理方法
- python 在windows下创建文件IOError的一个原因
- 计算结构体大小
- 集群做法
- 【D】二分查找
- Oracle set unused的用法
- Ext.namespace
- 什么是Segmentation fault(Core Dump)
- 【Linux】Linux安装和卸载软件
- zoj 3690 Choosing number 递推+矩阵快速幂