您现在的位置是:主页 > news > 一个专门做网站建设的公司/电商运营基本知识

一个专门做网站建设的公司/电商运营基本知识

admin2025/4/22 10:34:56news

简介一个专门做网站建设的公司,电商运营基本知识,电商网站 设计,门户网站建设的平台搭建#写和读取时候,所有的数据只能是字符串,不能是数字或者其他内容#新建一个文件;冰倩写入文件内容为:这是一个新的文件内容f open(a.txt,"w",encoding"utf8")f.write("这是一个新的文件内容\n") #写入操作 \n回车换行f.write("这是一个新的文…

一个专门做网站建设的公司,电商运营基本知识,电商网站 设计,门户网站建设的平台搭建#写和读取时候,所有的数据只能是字符串,不能是数字或者其他内容#新建一个文件;冰倩写入文件内容为:这是一个新的文件内容f open(a.txt,"w",encoding"utf8")f.write("这是一个新的文件内容\n") #写入操作 \n回车换行f.write("这是一个新的文…

#写和读取时候,所有的数据只能是字符串,不能是数字或者其他内容

#新建一个文件;冰倩写入文件内容为:这是一个新的文件内容

f = open('a.txt',"w",encoding="utf8")

f.write("这是一个新的文件内容\n") #写入操作 \n回车换行

f.write("这是一个新的文件内容\n") #写入操作

f.writelines(['111\n','222\n']) #列表方式写入多行

print(f.writable()) #判断是否可写

f.close()#打开文件,读取文件内容,不写'r',默认是只读模式

r = open("a.txt",'r',encoding="utf8")

data= r.read() #读取全部内容

print(data)print(r.readable()) #判断文件是否只读

print(r.readline()) #一次读一行内容,下一行内容可以在接着运行readline,默认最后一行内容有个回车,会有换行的情况

print(r.readline(),end="") #去掉最后的回车

print(r.readlines()) #读取所有的内容,把每行的内容放到一个列表中,默认最后一行有空格

r.close()#追加

f = open('a.txt',"a",encoding="utf8")

f.write("这是追加的内容\n")

f.close()#r+ 既能读又能写#f = open('a.txt',"r+",encoding="utf8")#f.write("这是r+的内容\n") #默认第一行开始写入,把存在的内容直接按顺序覆盖修改#f.close()

#打开不用关闭文件 用with就可以,自动会关闭文件

with open('a.txt','r',encoding="utf8") as f:

data=f.read()print(data)#str ---- > encoding(编码) ----->bytes#btyes ---> encode(解码) ------->str

#open模式

'''不填写默认 'r' open for reading (default)

'w' open for writing, truncating the file first

'x' create a new file and open it for writing

'a' open for writing, appending to the end of the file if it exists

'b' binary mode

不填写默认 't' text mode (default)

'+' open a disk file for updating (reading and writing)

'U' universal newline mode (deprecated)'''

#b模式就是二进制的方式:#写

f = open('二进制文件','wb') #wb 二进制方式写入文件,二进制文件没有编码,只有解码#f.write('1111,你好') #报错 TypeError: a bytes-like object is required, not 'str' 二进制文件写入,需要以二进制的方式,不能直接把str写到里面#处理方式: 可以先把字符串转换成二进制的方式在写入#字符串转二进制过程(编码):

test = bytes('1111,你好',encoding="utf-8") #bytes 和 '1111,你好'.encode="utf-8 编码都是一样的;一个是bytes方法 一个是字符串自己提供的一个方法

f.write(test)#读

f = open('二进制文件','rb') #二进制的方式读取文件

data =f.read()print(data) #b'1111,\xe4\xbd\xa0\xe5\xa5\xbd'读取的是二进制的文件,所以需要解码成字符串.#二进制转字符串过程(解码):

print(data.decode('utf-8')) #解码后:1111,你好

'''一: read(3):文件打开方式为文本模式时,代表读取3个字符;文件打开方式为b模式时,代表读取3个字节

其余的文件内光标移动都是以字节为单位如seek,tell,truncate

注意:

1. seek有三种移动方式0,1,2,其中1和2必须在b模式下进行,但无论哪种模式,都是以bytes为单位移动的

2. truncate是截断文件,所以文件的打开方式必须可写,但是不能用w或w+等方式打开,因为那样直接清空文件了,所以truncate要在r+或a或a+等模式下测试效果'''f= open('二进制文件','r+',encoding="utf-8")'''二进制文件内容如下:

你好'''f.readline()print(f.tell()) #tell光标当前所在位置等于8 为什么是8 因为"你好" 一个中文为3个字节加上win平台的默认回车为"\r\n" 所以为8

f.seek(1) #seek光标跳到第1个字节位置

print(f.tell())

f.truncate(3) #从开始算,将文件安只保留从0-3个字节的内容#seek 高级模式

f.seek(10,0) #0是默认;不写就是默认0;从文件开始数10个位置

f.seek(10,1) #1相对位置,就是上一次位置,在数10个位置,这个需要b模式打开文件,不然报错

f.seek(-10,2) #2倒序,就是倒着读取,在数-10个位置,这个需要b模式打开文件,不然报错

f.close()#显示win平台的默认回车;newline以最原始的方式显示换行符

f = open('二进制文件','r+',encoding="utf-8",newline='')

data=f.readlines()print(data) #['你好\r\n', '1111'] #newline效果就显示\r\n; 不加newline默认情况下是['你好\n', '1111']少一个\r是因为python给你优化掉了