资讯详情

字符编码与文件的基本操作

字符编码和文件的基本操作

  • 1 > 实际应用字符编码
    • 1.1 > 编码和解码意义
    • 1.2 > 编码(encode)
    • 1.3 > 解码(decode)
    • 1.4 > 如何解决乱码问题
    • 1.5 > python解释器层面
    • 1.5.1 > python2解释器:
      • 1.5.1 - 1> 文件头
      • 1.5.1 - 2> 字符前缀
    • 1.5.2 > python3解释器:
  • 2 > 文件操作简介
    • 2.1 > 文件的含义
    • 2.2 > 打开文件的语法结构
    • 2.3 > 用关键字打开文件
  • 3 > 读写文件的模式
    • 3.1 > r 模式
    • 3.2 > w 模式
  • 3.3 > a 模式
  • 4 > 文件的操作模式
    • 4.1 > t 模式
    • 4.2 > b 模式
  • 5 > 内置文件的方法

1 > 实际应用字符编码

1.1 > 编码和解码意义

??编码是指将人类能读懂的字符编码变成计算机能读懂的字符 ??解码是指将计算机能直接读懂的字符编码解码成人能读懂的字符。

1.2 > 编码(encode)

 # 定义字符串的变量 s1 = '事已至此 何不一搏' # 编码变量 print(s1.encode('gbk'))  # encode() 这个括号填充了你想把字符串编成什么样的字符编码。 # 打印 b'\xca\xc2\xd2\xd1\xd6\xc1\xb4\xcb \xba\xce\xb2\xbb\xd2\xbb\xb2\xab' ''' 如果在字符串的前面添加字母b,表示的就是数据类型为bytes类型 bytes类型是指2进制。 '''  

1.3 > 解码(decode)

 # 定义编码字符串 res = b'\xca\xc2\xd2\xd1\xd6\xc1\xb4\xcb \xba\xce\xb2\xbb\xd2\xbb\xb2\xab' # 编码的数据解码将进行 print(res.decode('gbk'))  # decode() 这个括号填写了您想要解码的字符串。 # 打印 事已至此 何不一搏 

1.4 > 如何解决乱码问题

??当我们打开软件时,可能是它解码不同于编码类型的原因,所以当我们想以当我们想避免无序代码时,我们需要避免数据代码和解码相同的代码类型。

  res1 = s1.encode('gbk')     print(res1)  # 将字符串按gbk类型编码     res2 = res1.decode('euc_kr')     print(res2)  # 解码用euc_kr类型,会产生乱码     res3 = res1.decode('gbk')     print(res3)  # 当我们用gbk他会正常显示类型解码。  

1.5 > python解释器层面

1.5.1 > python2解释器:

??在python它在解释器中的默认编码是ASCII因此,我们需要使用两种关键方法来正常输出字符串

1.5.1 - 1> 文件头

??文件头必须写在文件的顶部,它的功能是告诉解释器使用哪种字符代码。格式如下:

1.coding:utf8  2.-*- coding:utf8 -*-  # 这是一种美化的写法

1.5.1 - 2> 字符前缀

  字符前缀的使用情况是,在使用pyhon2解释器的环境下定义字符串的时候,我们习惯会在前面加上一个 字符u。格式如下:


name = u'你好啊'

1.5.2 > python3解释器方面:

   python3解释器在python2解释器的基础上进行了优化,他的默认字符编码就是目前常用的 utf - 8.

2 > 文件操作简介

2.1 > 文件的含义

   文件的含义就是操作系统暴露给用户可以直接操作硬盘的快捷方式。

2.2 > 打开文件的语法结构

# 结构一:(不推荐使用)
	f = open()  # 打开一个文件就必须要使用close将其关闭
	f.close()
	
# 结构二:(推荐使用)
	with open() as f:
		pass    # 这中结构在使用时不需要考虑关闭文件,因为它会自动在使用完文件后关闭文件。

2.3 > 使用关键字打开文件

	# 我们在打开文件时需要写上文件的路径,例如:
	open(r'a.txt')   # 这是相对路径
	open(r'D:\xx\xx\a.txt')  # 这是绝对路径
	# 我们会在写路径的时候为了防止特殊符号产生意义,一般就是直接加r

    # 使用open关键字打开文件时我们要注意一些几种情况
	''' open(文件的路径,文件的操作模式,文件的编码) 1.文件的路径是必要的写上的 2.文件的操作模式和文件编码,可写可不写 '''
	# 读取文件内容 read()
	print(res.read())  # 读取文件内容
	res.close()   # 关闭文件
	
     

3 > 文件的读写模式

3.1 > r 模式

   r 模式是一种只读模式,所以它只能读不行进行编写。当文件路径不存在时,它会直接报错。当文件路径存在时,它会正常打开文件并等待内容读取,将文件中的内容一次性读取。

	with open(r'a.txt', 'r', encoding='utf8') as f:
		pass   # pass 在这里的作用就是用来补全语法,本身没有任何的功能
		''' 当文件存在,一次型读取文件内容 当文件不存在 , 报错 文件只读不能写 输入f.write() 报错 '''

3.2 > w 模式

   w 模式是一种只写模式,所以它只能写不行进行读取。当文件路径不存在时,它会直接新建一个文件。当文件路径存在时,它会将文件中的内容先清空, 之后再写入数据。

	with open(r'b.txt', 'w', encoding='utf8') as f:
		f.write('xxxxxxxxxx\n')  # 写入文件内容
		f.write('$$$$$$$$$$\r') 
		''' 假如b.txt不存在新建 b.txt 文件 假如b.txt文件中有内容,就会将文件中的内容全部情况再写上想要写入的内容 \n 表示换行符 \r 表示换行符 如果打印读取文件当中内容 print(f.read()) # 报错 '''

3.3 > a 模式

   a 模式是一种追加写的一种模式,它也是只能写不行进行读取。当文件路径不存在时,它会直接新建一个文件。当文件路径存在时,它不会将文件中的内容先清空,而是在文件内容的末尾等待添加新的内容。

	with open(r'b.txt', 'w', encoding='utf8') as f:
		pass
		''' 假如b.txt不存在新建 b.txt 文件 假如b.txt文件中有内容,就会直接在文件结尾添加新内容 f.write('xxxxxx') # 结尾添加内容 print(f1.read()) # 报错 '''

4 > 文件的操作模式

4.1 > t 模式

   t 模式是一种默认的模式,是用于操作文本文件的。该模式,并且需要。这种模式的读写都是进行的。

4.2 > b 模式

   b模式是一种的二进制模式。可以,所以。它是。并且这种模式的读写都是以bytes类型为最小的单位。

5 > 文件内置方法

	
	read()  # 一次性读取文件内容
	''' 1.执行完之后光标在文件末尾 继续读取没有内容 2.当文件内容特别大的时候 容易造成内存溢出(满了) '''
    readline()  # 一次只读一行内容
	readlines()  # 结果是一个列表 里面的各个元素是文件的一行行内容
	readable()  # 判断当前文件是否可读
	支持for循环  # 一行行读取文件内容(推荐使用) 内存中同一时刻只会有一行内容
	write()  # 写入文件内容(字符串或者bytes类型)
	writelines()  # 可以将列表中多个元素写入文件
	writable()  # 判断文件是否可写
	flush()  # 相当于主动按了ctrl+s(保存) 




标签: 电力电容电抗器限流电抗器xd1

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台