读取文件操作
一共有三种方式:
1.直接读取:
file1=open(“test.txt”) 默认读操作
file2=open(output.txt","w)
whilie true:
line=file1.readline()
file2.write('"'+flie[:]+'"'+'','')
if not line:
break
记得文件处理完之后,关闭
file1.close()
file2。close()
- read()将文本文件所有行读到一个字符串中。
- readline()是一行一行的读
- readlines()是将文本文件中所有行读到一个list中,文本文件每一行是list的一个元素。 优点:readline()可以在读行过程中跳过特定行。
2:文件迭代器,用for循环的方式
file2=open(“output。txt”,“w”)
for line in open("test.txt"):
file2.write('"'+flie[:]+'"'+'','')
3:文件上下文管理器
用with open 打开文件,优点:自带关闭文件的功能
with open(“somefile。txt”,‘r’) as f:
data =f。read()
loop整个文档:
with open(“somefile。txt”,‘r’) as f:
for line in f:
处理每一行
写入文本:
with open(“somefile。txt”,‘w’) as f:
f。write(test1)
f。write(test2)
把要打印的写入文件
with open(“somefile。txt”,‘w’) as f:
print(line1,file=f)
print(line2,file=f)
二进制文件的读写
Python 默认读取的都是文本文件,想要读取人进制文件,吧“r”改为“rb”
f=open('edg.jpg','rb')
print(f.read()) # 输出 '\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六进制表示的字节
简单说就是,任何非标准的文本文件(对于Py2来说,标准是ASCII,对于Py3来说,标准是unicode),你就需要用二进制读入这个文件,然后再用 .decode('...')的方法来解码这个二进制文件
f=open("debf.txt",'rb')
u=f.read().decode('deyuncode') 用原编码的方式再进行解码
posix #通过OS告诉我们 我的操作系统的名字。 如果是posix,说明系统是#nix族,如果是nt,就是Windows,还可以用uname()来看具体信息
os。environ #查看操作系统中定义的环境变量
操作文件与目录
#当前目录的绝对路径
0s.path.abspath('.')
#在某个目录下创建一个新目录
os.path.join('/某路径/..','新文件名称')
或者用mkdir创建
os.mkdir('/users/edc/picture/')
同理删除一个文件
0s.rmdir('/users/edc/picture/')
同理在 拆分路径的时候,不要直接去拆分字符串,使用os.path.split(),将路径拆分为两部分,一般后一部分为最后级别的目录或者文件名称
os.path.split('/users/edc/picture/mp41.mp4')
#('/users/edc/picture/','mp41.mp4')
还可以用os.path.splitext()得到文件的扩展名
用os.rename("jiumingci","xinmingci")进行重命名
删除文件:os.remove("wenjian")
不含直接的复制操作,但是可以使用读入一个文件,再写入一个文件来达到复制的目的,或者使用第三方库:shutil,他提供了copyfile