文本文件的输入与输出

1. 打开文件,创建文件对象。
f = open(文件名,模式)

最常用的模式有:
"r" # 只读
“w” # 写入
---------------------------------------------------------------------------------------------------------------------------------------
>>> f2 = open('E:\Dropbox\python\if.py', 'r')
-----------------------------------------------------or-------------------------------------------------------------------------------
>>> with open(r'E:\Dropbox\python\test.txt.txt') as f: #在执行dosomething收会自动关闭f
        for line in f:
                print line

                
line 1

line 2

this is another line
--------------------------------------------------------------------------------------------------------------------------------------
PS:这里出现过一个问题(http://www.douban.com/group/topic/34106129/):
>>> f = open('F:\Dropbox\python\test.txt', 'r')

Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
f = open('F:\Dropbox\python\test.txt', 'r')
IOError: [Errno 22] invalid mode ('r') or filename: 'F:\\Dropbox\\python\test.txt'

【解答】
路径是字符串,里面包含了个\t,是个转义符号,所以文件路径有问题。win下路径分隔符用的是反斜杠导致了这个问题。
你改成这样 f = open(r'F:\Dropbox\python\test.txt', 'r') 。在字符串前加r,声明为raw字符串,这样就不会处理其中的转义了。

在此感谢@ushuz 童鞋的解答~


=====================================联系==============================

>>> f1 = open(r'E:\Dropbox\python\newfile.txt.txt','w')
>>> f1.write('\t')
>>> f1.close()
>>> f1 = open(r'E:\Dropbox\python\newfile.txt.txt','r')
>>> for line in f1:
        print line

        
        
>>> f1 = open(r'E:\Dropbox\python\newfile.txt.txt','w+') #可写追加模式
>>> f1.write('add one line\t')
>>> f1.close()
>>> f1 = open(r'E:\Dropbox\python\newfile.txt.txt','r')
>>> for line in f1:
        print line

        
add one line
>>> f1 = open(r'E:\Dropbox\python\newfile.txt.txt','a+')
>>> f1.write('add another line\t')
>>> f1.close()
>>> f1 = open(r'E:\Dropbox\python\newfile.txt.txt','r')
>>> for line in f1:
        print line

        
add one line add another line

----------------------------------------------------------------------------------------------------------------------------------------
>>> f1 = open(r'E:\Dropbox\python\t.txt', 'a+')
>>> f1.write('this is A')
>>> f1.write('\n')
>>> f1.write('this is B')
>>> f1.close()
>>> f2 = open(r'E:\Dropbox\python\t.txt','r')
>>> for line in f2:
        print line

        
this is A

this is B
>>> f2.read(3) #读写位置后面的三个字符,由于之前已经全部读完,读写位置在最后
'' #所以都是空
>>> f2.close()
>>> f = open(r'E:\Dropbox\python\t.txt') #读写模式可以不写,默认为‘r’
>>> f.read()
'this is A\nthis is B'
>>> f.read(3)
''
>>> f.read(7)
''
>>> f.seek(1) #将读写位置移到1
>>> f.read(3)
'his' #这样就能读出2-4三个字符

 

https://www.douban.com/note/246259307/

posted @ 2017-02-28 09:02  青蛙的邻居  阅读(233)  评论(0)    收藏  举报