python运行文件指令(python命令行运行py文件)
Python File(文件) 方法
open() 方法
Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。
注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
open(file, mode='r')
mode 参数有:
默认为文本模式,如果要以二进制模式打开,加上 b 。
file 对象
file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:
【文件读写操作示例】
1》将文件companies.txt中的字符串前加上序号1,2,3……后,写到另一个文件scompanies.txt中。
&>&>&> f1=open(r&’C:\Users\Administrator\Desktop\companies.txt&’,&’r&’)
&>&>&> companyNames=f1.readlines()
&>&>&> for i in range(0,len(companyNames)):
&… companyNames[i]=str(i+1)+&’ &‘+companyNames[i]
&…
&>&>&> f1.close()
&>&>&> f2=open(r&’C:\Users\Administrator\Desktop\scompanies.txt&’,&’w&’)
&>&>&> f2.writelines(companyNames)
&>&>&> f2.close()
2》打开文件companies.txt,在尾部追加一行&’alibaba&’,然后读出文件内容。
&>&>&> f1=open(r&’C:\Users\Administrator\Desktop\companies.txt&’,&’a+&’)
&>&>&> f1.write(&‘\n&’)
&>&>&> f1.write(&‘alibaba&’)
&>&>&> f1.seek(0,0)
&>&>&> l=f1.readlines()
&>&>&> f1.close()
&>&>&> l
[&‘Apple Inc.\n&’, &‘Google Inc.\n&’, &‘Facebook,Inc.\n&’, &‘Microsoft Corporation\n&’, &‘alibaba&’]
3》打开文件companies.txt,在第二行后,添加一独立的新行&’love python&’。
&>&>&> f=open(r&”C:\Users\Administrator\Desktop\companies.txt&”,&’r+&’)#注意打开模式
&>&>&> n=2
&>&>&> l=f.readlines()
&>&>&> l
[&‘Apple Inc.\n&’, &‘Google Inc.\n&’, &‘Facebook,Inc.\n&’, &‘Microsoft Corporation\n&’, &‘alibaba&’]
&>&>&> l.insert(n,&’love python\n&’)#字符串末尾记得写换行符
&>&>&> l
[&‘Apple Inc.\n&’, &‘Google Inc.\n&’, &‘love python\n&’, &‘Facebook,Inc.\n&’, &‘Microsoft Corporation\n&’, &‘alibaba&’]
&>&>&> f.seek(0)#将文件指针移到文件开头
&>&>&> f.writelines(l)
&>&>&> f.close()
4》读取整个文件的内容
可以直接使用readlines()函数,如下:
&>&>&> f=open(r&”C:\Users\Administrator\Desktop\companies.txt&”,&’r&’)
&>&>&> l=f.readlines()
&>&>&> f.close()
&>&>&> print l
[&‘Apple Inc.\n&’, &‘Google Inc.\n&’, &‘love python\n&’, &‘Facebook,Inc.\n&’, &‘Microsoft Corporation\n&’, &‘alibaba&’]
5》读取整个文件内容,不使用readlines()函数,如下:
&>&>&> f=open(r&”C:\Users\Administrator\Desktop\companies.txt&”,&’r&’)
&>&>&> lines=[]
&>&>&> for line in f: #文件是一个可迭代对象
&… lines.append(line)
&…
&>&>&> f.close()
&>&>&> print lines
[&‘Apple Inc.\n&’, &‘Google Inc.\n&’, &‘love python\n&’, &‘Facebook,Inc.\n&’, &‘Microsoft Corporation\n&’, &‘alibaba&’]