file()创建文件方法 分类: python python基础学习 20121224 18:17 239人阅读 评论(0) 收藏

#创建文件方法一
filename='filename.txt' #先创建文件路径、名称
f=file(filename,'w')
f.close()

#创建文件方法二:直接输入文件路径、名称


#注意此处的new文件,要注意和\n转义字符冲突。
#建议路径用r'D:\new.txt'
f1=file('D:\poems.txt','w');#在
f2=file(r'D:\new.txt','w')   #注意此处的r
f2.close()

f1.close()


如果文件不存在,且模式是‘aw、或w+时,python会在python文件目录下自动创建该txt文件;文件不存在,且模式是r’,或‘r+’时,会出现io错误


以‘a' 模式打开文件对象,然后使用文件对象的write方法写入数据,如果追加内容没有明确写入'\n',则在文件对象末尾直接追加write方法中的内容,不另起一行。除非明确写入回车符。


WindowsMacintosh平台上,‘b’模式以二进制方式打开文件,所以可能会有类似于‘rb’,‘wb’,‘r+b’等等模式组合。Windows平台上文本文件与二进制文件是有区别的,读写文本文件时,行尾会自动添加行结束符。这种后台操作方式对文本文件没有什么问题,但是操作JPEGEXE这样的二进制文件时就会产生破坏。在操作这些文件时一定要记得以二进制模式打开。(需要注意的是Mactiontosh平台上的文本模式依赖于其使用的底层C库)



1. f2= open(r'E:\python\day2\test.txt','r+')
2. f2.write("python")
3.
4. print f2.read()
5. f2.close()
 
执行步骤2后,指针指向字符串结尾e的下一位。
执行4时,不输出任何内容。
 
如果要输出写入的内容,在第三行添加 f2.seek(0)即可
 

获取文件大小:

  1. 1.
  2. >>> f = open('chardet-1.0.1.tgz','rb')
  3. >>> f.seek(0,2)
  4. >>> f.tell()
  5. 179218L


  6. 2.
  7. >>> import os
  8. >>> os.fstat(f.fileno()).st_size
  9. 179218L


f.flush() 清除内部缓冲区,将缓冲区内的数据写入文件。然后可以读取文件内容。


理解seek()

Userinfo.txt的内容:insert into USERINFO_ (注:后面有个空格,下划线的索引是20

import os

f =open('userinfo.txt')

f.seek(-2,2)

print f.tell()  # 20

print f.read(1)# 结果:_

print f.tell()   # 21

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/think1988/p/4628258.html