南京市的网站是由那几家公司做的,杭州python做网站,在线网站建设平台,石家庄seo顾问文章目录 一、文件的读取二、文件内容的写入三、之操作文件夹四、StringIO与BytesIO 一、文件的读取
在python里面#xff0c;可以使用open函数来打开文件#xff0c;具体语法如下#xff1a;
open(filename, mode)filename#xff1a;文件名#xff0c;一般包括该文件所… 文章目录 一、文件的读取二、文件内容的写入三、之操作文件夹四、StringIO与BytesIO 一、文件的读取
在python里面可以使用open函数来打开文件具体语法如下
open(filename, mode)filename文件名一般包括该文件所在的路径
mode 模式 如果读取时读取中文文本需要在打开文件的时候使用encoding指定字符编码为utf-8open函数的mode参数 读取文件的内容使用read相关方法
使用read方法读取文件的全部内容如果文件较大一次性读取可能会导致内存不足此时需要指定使用readline方法读取文件的一行readlines()一次读取所有内容并按行返回listfile open(D:\class.txt, r ,encodingutf-8)
print(file.read())
print(file.readline())注意事项 每次打开文件完成相应操作之后都必须关闭该文件且因为文件在读写过程中可能出现IOError 而导致文件不能正常关闭所以每次读写文件时必须使用try finally语法包裹使其最终都能正 常关闭文件
try:file open(D:\class.txt, r ,encodingutf-8)print(file.read())print(file.readline())finally:file.close()二、文件内容的写入
同样的写入文件内容时需要些使用open打开文件相应的mode指定为可写入之后可以使用write函数进行文件的写入
try:file open(D:\class.txt, w, encodingutf- 8)file.write(123456)
finally:file.close()使用这种方法确实可以进行文件的写入但是每次打开之后会发现原来所有的文本内容均被覆盖如果想保留原来的内容只是在文件的后追加内容这个时候使用参数a表示append用于追加
try:file open(D:\class.txt, a, encodingutf- 8)file.write(789)
finally:file.close()三、之操作文件夹
创建文件夹
可以使用os.mkdir(dir_name)来在当前目录下创建一个目录
import osos.mkdir(test\\py)创建多级文件夹
import osos.mkdir(test\\py\\demo)获取当前所在目录
import os print(os.getcwd())改变当前的工作目录
import os os.chdir(test) print(os.getcwd())删除空文件夹
import os os.rmdir(test)删除多层空文件夹
import os os.removedirs(test\\java)四、StringIO与BytesIO
当不需要往新建文件并写入我只想直接在内存中缓存这些文本此时StringIoBytesIo就派上用场了 StringIoBytesIo均属于io包下3.7环境均用于像操作文件一样临时在内存中缓存文本两者 api与直接进行问下文件io的操作相似。StringIO跟ByteIo的区别在于前者写入字符串后者写入二进 制
每次使用完StringIO之后都必须显式进行关闭也可使用with语法
from io import StringIO
from io import BytesIOstring_io StringIO()
string_io.write(helloworld)
print(string_io.getvalue())
string_io.close()with StringIO() as string_io:string_io.write(hello)string_io.write(world)print(string_io.getvalue())print(string_io.closed)byte_io BytesIO()
byte_io.write(中国.encode(utf-8))
byte_io.write(台湾.encode(utf-8))
print(byte_io.getvalue())
print(str(b\xe4\xb8\xad\xe5\x9b\xbd\xe5\x8f\xb0\xe6\xb9\xbe,utf-8))