Python判断文件和字符串编码类型的实例
python判断文件和字符串编码类型可以用chardet工具包,可以识别大多数的编码类型。但是前几天在读取一个Windows记事本保存的txt文件时,GBK却被识别成了KOI8-R,无解。
然后就自己写了个简单的编码识别方法,代码如下:
coding.py
# 说明:UTF兼容ISO8859-1和ASCII,GB18030兼容GBK,GBK兼容GB2312,GB2312兼容ASCII CODES = ['UTF-8', 'UTF-16', 'GB18030', 'BIG5'] # UTF-8 BOM前缀字节 UTF_8_BOM = b'\xef\xbb\xbf' # 获取文件编码类型 def file_encoding(file_path): """ 获取文件编码类型\n :param file_path: 文件路径\n :return: \n """ with open(file_path, 'rb') as f: return string_encoding(f.read()) # 获取字符编码类型 def string_encoding(b: bytes): """ 获取字符编码类型\n :param b: 字节数据\n :return: \n """ # 遍历编码类型 for code in CODES: try: b.decode(encoding=code) if 'UTF-8' == code and b.startswith(UTF_8_BOM): return 'UTF-8-SIG' return code except Exception: continue return '未知的字符编码类型'
说明:file_encoding方法用于判断文件编码类型,参数为文件路径;string_encoding方法用于判断字符串编码类型,参数为字符串对应的字节数据
使用示例:
import coding file_name = input('请输入待识别文件路径:\n') encoding = coding.file_encoding(file_name) print(encoding)
以上这篇Python判断文件和字符串编码类型的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
您可能感兴趣的文章:
- Python实现判断字符串中包含某个字符的判断函数示例
- 详解用Python处理HTML转义字符的5种方式
- Python实现生成随机日期字符串的方法示例
- 基于Python的文件类型和字符串详解
- python中文乱码不着急,先看懂字节和字符
- Python字符串拼接六种方法介绍
- Python实现字符串匹配算法代码示例
- Python元字符的用法实例解析
相关推荐
-
基于Python的文件类型和字符串详解
1. Python的文件类型 1. 源代码--直接由Python解析 vi 1.py #!/usr/bin/python print 'hello world' 这里的1.py就是源代码 执行方式和shell脚本类似: chmod +x 后,./1.py Python 1.py 2. 字节代码 Python源码文件经编译后生成的扩展名为pyc的文件 编译方法: [root@t1 py]# cat 2.py #!/usr/bin/python import py_compile py_compil
-
详解用Python处理HTML转义字符的5种方式
写爬虫是一个发送请求,提取数据,清洗数据,存储数据的过程.在这个过程中,不同的数据源返回的数据格式各不相同,有 JSON 格式,有 XML 文档,不过大部分还是 HTML 文档,HTML 经常会混杂有转移字符,这些字符我们需要把它转义成真正的字符. 什么是转义字符 在 HTML 中 <.>.& 等字符有特殊含义(<,> 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字符串(Escape Se
-
Python实现字符串匹配算法代码示例
字符串匹配存在的问题 Python中在一个长字符串中查找子串是否存在可以用两种方法:一是str的find()函数,find()函数只返回子串匹配到的起始位置,若没有,则返回-1:二是re模块的findall函数,可以返回所有匹配到的子串. 但是如果用findall函数时需要注意字符串中存在的特殊字符 蛮力法字符串匹配: 将模式对准文本的前m(模式长度)个字符,然后从左到右匹配每一对对应的字符,直到全部匹配或遇到一个不匹配的字符.后一种情况下,模式向右移一位. 代码如下: def string_m
-
python中文乱码不着急,先看懂字节和字符
Python2.x使用过程中,中文乱码解决最耳熟能详的方法就是在代码前加上#-*- coding:utf-8 –*- 那么为什么需要这么做呢?什么又是字节和字符?下面我们了解下. 我来讲一下字符问题我的理解吧,虽然我对Python的编码处理的具体细节还不太清楚,不过临时稍微看了一下,和Perl的原理也差不多 最重要的是必须区分"字符"和"字节"的不同,"字符"是抽象的,而"字节"是具体的 比如一个"中"字,
-
Python实现判断字符串中包含某个字符的判断函数示例
本文实例讲述了Python实现判断字符串中包含某个字符的判断函数.分享给大家供大家参考,具体如下: #coding=utf8 #参数包含两个: #containVar:查找包含的字符 #stringVar:所要查找的字符串 def containVarInString(containVar,stringVar): try: if isinstance(stringVar, str): if stringVar.find(containVar): return True else: return
-
Python实现生成随机日期字符串的方法示例
本文实例讲述了Python实现生成随机日期字符串的方法.分享给大家供大家参考,具体如下: 生成随机的日期字符串,用于插入数据库. 通过时间元组设定一个时间段,开始和结尾时间转换成时间戳. 时间戳中随机取一个,再生成时间元组,再把时间元组格式化输出为字符串 import time import random a1=(1976,1,1,0,0,0,0,0,0) #设置开始日期时间元组(1976-01-01 00:00:00) a2=(1990,12,31,23,59,59,0,0,0) #设置结束日
-
Python元字符的用法实例解析
反斜杠的作用: 要想将一个元字符^当一个普通字符处理,加反斜杠 例如: >>>import re >>>r=r'\^abc' >>>re.findall(r,'^abc ^abc ^abc') ['^abc','^abc','^abc'] \d匹配任何十进制数,它相当于类[0-9]. \D匹配任何非数字字符,它相当于类[^0-9] \s匹配任何空白字符,他相当于类[\t\n\r\f\v] \S匹配任何非空白字符,它相当于类[^\t\n\r\f\v] \
-
Python字符串拼接六种方法介绍
Python字符串拼接的6种方法: 1.加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用"+"来连接两个字符串: print 'Python' + 'Tab' 结果: PythonTab 2.逗号 第二种比较特殊,使用逗号连接两个字符串,如果两个字符串用"逗号"隔开,那么这两个字符串将被连接,但是,字符串之间会多出一个空格: print 'Python','Tab' 结果: Python Tab 3.直接连接
-
Python判断文件和字符串编码类型的实例
python判断文件和字符串编码类型可以用chardet工具包,可以识别大多数的编码类型.但是前几天在读取一个Windows记事本保存的txt文件时,GBK却被识别成了KOI8-R,无解. 然后就自己写了个简单的编码识别方法,代码如下: coding.py # 说明:UTF兼容ISO8859-1和ASCII,GB18030兼容GBK,GBK兼容GB2312,GB2312兼容ASCII CODES = ['UTF-8', 'UTF-16', 'GB18030', 'BIG5'] # UTF-8 B
-
Python 判断文件或目录是否存在的实例代码
使用 os 模块 判断文件是否存在 os.path.isfile(path) 判断目录是否存在 os.path.isdir(path) 判断路径是否存在 # 使用 path 模块 os.path.exists(path) # 使用 access() 方法 os.access(path, os.F_OK) 使用 open 函数和异常捕获 如果直接用 open() 函数打开一个不存在的文件时,程序会抛出异常,我们可以通过 try 语句来捕获异常以达到判断文件是否存在的目的. 如果文件不存在,open
-
利用Python判断文件的几种方法及其优劣对比
目录 前言 懒人的try语句 传统的os模块 时尚的pathlib模块 几种方法优劣对比 总结 前言 我们知道当文件不存在的时候,open()方法的写模式与追加模式都会新建文件,但是对文件进行判断的场景还有很多,比如,在爬虫下载图片的时候,可能需要判断文件是否存在,以免重复下载:又比如,创建新文件的时候,可能需要判断文件是否存在,存在就先做个备份……所以,学习判断文件是否存在,还是很有必要的. 学习是循序渐进的过程,若能建立知识点间的联系,进行系统性的学习,那将更有助于效果.阅读这篇文章,你将读
-
python判断给定的字符串是否是有效日期的方法
本文实例讲述了python判断给定的字符串是否是有效日期的方法.分享给大家供大家参考.具体分析如下: 这里python判断给定的字符串是否是一个有效的日期,如果是一个日期格式的字符串,该函数返回True,否则返回False def is_valid_date(str): '''判断是否是一个有效的日期字符串''' try: time.strptime(str, "%Y-%m-%d") return True except: return False 希望本文所述对大家的Python程序
-
Python判断文件或文件夹是否存在的三种方法
常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try语句.pathlib模块. 1.使用os模块 os模块中的os.path.exists()方法用于检验文件是否存在. 判断文件是否存在 import os os.path.exists(test_file.txt) #True os.path.exists(no_exist_file.txt) #Fa
-
Python判断文件和文件夹是否存在的方法
一.python判断文件和文件夹是否存在.创建文件夹 复制代码 代码如下: >>> import os >>> os.path.exists('d:/assist') True >>> os.path.exists('d:/assist/getTeacherList.py') True >>> os.path.isfile('d:/assist') False >>> os.path.isfile('d:/assis
-
python判断文件夹内是否存在指定后缀文件的实例
该代码主要是基于python实现判断指定文件夹下是否存在指定后缀的文件.代码如下: import os Your_Dir='你的文件夹/' Files=os.listdir(Your_Dir) for k in range(len(Files)): # 提取文件夹内所有文件的后缀 Files[k]=os.path.splitext(Files[k])[1] Str2=['.wav','.mp3','.mp4'] if len(list(set(Str2).intersection(set(Fil
-
python 判断文件还是文件夹的简单实例
如下所示: import os if os.path.isdir(path): print "it's a directory" elif os.path.isfile(path): print "it's a normal file" else: print "it's a special file(socket,FIFO,device file)" 以上这篇python 判断文件还是文件夹的简单实例就是小编分享给大家的全部内容了,希望能给大家
-
python判断文件是否存在,不存在就创建一个的实例
如下所示: try: f =open("D:/1.txt",'r') f.close() except IOError: f = open("D:/1.txt",'w') 以上这篇python判断文件是否存在,不存在就创建一个的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
python 判断文件或文件夹是否存在
目录 1.文件 2.文件夹 3.补充 Python 操作文件时,我们一般要先判断指定的文件或目录是否存在,不然容易产生异常. 1.文件 # 是否存在 import os os.path.exists(test_file.txt) # 是不是文件 import os os.path.isfile("test-data") # 是不是文件 from pathlib import Path my_file = Path("/path/to/file") my_file.i
随机推荐
- java判断远程服务器上的文件是否存在的方法
- 【Redis缓存机制】详解Java连接Redis_Jedis_事务
- 详解基于vue的移动web app页面缓存解决方案
- JS获取时间的相关函数及时间戳与时间日期之间的转换
- 原生Js页面滚动延迟加载图片实现原理及过程
- Input文本框随着输入内容多少自动延伸的实现
- 值类型和引用类型的区别深入理解
- php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
- PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
- python设计模式大全
- C#获取ListView鼠标下的Item实例
- 在 Windows 10 上安装 解压缩版 MySql(推荐)
- Shell脚本批量清除Nginx缓存
- 浅谈Java泛型通配符解决了泛型的许多诟病(如不能重载)
- windows nfs 服务端安装配置教程
- 使用Python读写及压缩和解压缩文件的示例
- SqlServer Mysql数据库修改自增列的值及相应问题的解决方案
- jquery删除数组中重复元素
- 喜大普奔!jQuery发布 3.0 最终版
- Web开发必知Javascript技巧大全