文件的操作
文件概念
编程中,很多时候都离不开对文件的操作。在人工智能中,很多东西会涉及到数据科学,经常需要我们处理一些数据。这些数据通常会保存在一些文件里,然后,我们运用Python以及相关的数据科学等库生成或者处理这些文件。
在Python中,常用的可以生成或者读取的文件类型有很多,比如txt, csv, xlsx, json, xml,html, mp3, mp4等文件。
文件的打开与关闭
(1) open()
用python进行文件的读取操作,必须先用python内置的open()函数打开一个文件,创建一个file对象相关的方法才可以调用它进行读写。
语法格式如下:
f=open(file_name [,mode] [,encoding="UTF-8"] [,buffering])
各个参数的解释如下:
- file_object是open()返回的文件对象;
- file_name:是要访问的—文件名的字符串值。
- mode:决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表,这个参数是非强制的,默认文件访问模式为只读®。
- encoding指定文件编码,一般使用"utf-8"或者"gbk"。
- buffering:如果buffering的值被设为0,就不会有寄存;如果buffering的值取1,访问文件时会寄存行;如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小;如果取负值,寄存区的缓冲大小则为系统默认。
file对象的属性
一个文件被打开后,会得到一个file对象,你可以得到有关该文件的各种信息。
以下是和file对象相关的常用属性的列表。
属性 | 描述 |
---|---|
f.name | 返回文件的名称。 |
f.mode | 返回被打开文件的访问模式。 |
f.closed | 返回true如果文件已被关闭,否则返回false。返回true如果文件已被关闭,否则返回false。 |
>>> f=open("GreenFlowerPorcelain.txt","r")
>>> type(f)
<class '_io.TextIOWrapper'>
>>> dir(f)
['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_finalizing', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline', 'readlines', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'writelines']
>>> f.name
'GreenFlowerPorcelain.txt'
>>> f.mode
'r'
>>> f.closed
False
>>>
创建文件,写入内容
>>> f=open("w.txt","w") #如果文件不存在,会创建新的.txt的文件,如果存在会添加里面的内容。
>>> f.write(