本文目录一览:
- 1、Python中的文件读写-理论知识
- 2、Python文件操作IO流
- 3、python的文件处理
- 4、如何用Python对特定字符开头的一行或几行进行词根处理。比如说对结构化文本的AB 开头的字段进行词根处理
- 5、书声琅琅教育旗下智圭谷:Python支持的所有文件处理模式?
- 6、请教python如何处理结构化数据
Python中的文件读写-理论知识
Python处理两种不同类型的文件:二进制文件和文本文件。了解两者之间的差异很重要,因为它们的处理方式不同。
二进制文件
在正常计算机使用期间使用的大多数文件实际上是二进制文件,而不是文本。比如:Microsoft Word .doc文件实际上是一个二进制文件,即使它只有文本。
二进制文件的其他示例包括:
图像文件,包括.jpg,.png,.bmp,.gif,等。
数据库文件包括.mdb,.frm和.sqlite
文件,包括.doc,.xls,.pdf或者其他文件。
那是因为这些文件都有特殊处理的要求,需要特定类型的软件来打开它。例如,您需要Excel来打开.xls文件,并使用数据库程序来打开.sqlite文件。
文本文件
一方面,没有特定的编码,可以通过没有任何特殊处理的标准文本编辑器打开。但是,每个文本文件都必须遵守一组规则:
文本文件必须是可读的。他们可以(并且经常会)包含许多特殊编码,尤其是在HTML或其他标记语言中,但您仍然可以说出它的含义
文本文件中的数据按行组织。在大多数情况下,每一行都是一个独特的元素,无论是指令行还是命令。
此外,文本文件在每行的末尾都有一个看不见的字符,这使文本编辑器知道应该有一个新行。通过编程与这些文件交互时,您可以利用该字符。在Python中,它用“ n” 表示。
在哪里可以找到Python的文件I / O工具
在Python中工作时,您不必担心导入任何特定的外部库来处理文件。Python附带有“文件库”,文件I / O工具和实用程序是核心语言的内置部分。
但是在其他语言(如C ++)中,要处理文件,您必须通过包含正确的头文件来启用文件I / O工具#include fstream。如果您使用Java编写代码,则需要使用该import java.io.*语句。
使用Python,就没有必要这样做,这是因为Python有一组内置函数,可以处理读取和写入文件所需的所有内容。
Python文件操作IO流
1、文件分为 文本文件t和二进制文件b,文本文件有统一编码,二进制文件一般只有0和1组成
2、文件的处理步骤:打开---操作---关闭
3、文件打开:
f = open(文件路径名,打开方式)
文件路径名有两种:绝对路径和相对路径,打开模式分如下几种类型:
遍历文件的方式:
文件的写入:
python的文件处理
import glob
import os
import re
filelist = glob.glob('*.txt')
p = re.compile(r'1(.*)\|(.*)/1')
for fn in filelist:
try:
fin = open(fn, 'r')
fout = open('pro_' + os.path.split(fn)[1], 'w')
except:
print 'File open error!'
os.exit(1)
for line in fin.readlines():
if '0Rd/0' in line:
line = p.sub('1\g2|\g1/1', line)
fout.write(line)
fin.close()
fout.close()
输入文件内容:
This is the first line
0Rd/01a|b/1
some test info
0Rd/01red|blue/1
输出文件内容:
This is the first line
0Rd/01b|a/1
some test info
0Rd/01blue|red/1
补充:见上,稍微改改就好了。
如何用Python对特定字符开头的一行或几行进行词根处理。比如说对结构化文本的AB 开头的字段进行词根处理
你说的词根是什么意思。 如果是干词的话,找个snowball的算法,调用一下就全OK。
或者你说的是将这段文字(应该是一个专业字典),转换成DICT存贮格式吧。 那就startswith方式,查找每一line , 如果开头是ID, AB分别处理就完事。
不过你上面这段文字的ID与AB根本就没有关系啊。
书声琅琅教育旗下智圭谷:Python支持的所有文件处理模式?
Python中可以使用三种方法打开文件。他们是:
1、通过分别指定标志“r”,“w”,“rw”,“a”,只读模式,只写模式,读写模式和附加模式;
2、通过指定选项“t”,可以在上述任何一种模式中打开文本文件;
3、“r”,“w”,“rw”和“a”,以便前面的模式变为“rt”,“wt”,“rwt”和“at”。二进制文件可以在任何一个中打开上述模式通过指定选项“b”以及“r”,“w”,“rw”和“a”使得前面的模式为“rb”,“wb”,“rwb”,“ab”。
了解更多python知识,0基础新手python在线学习就上智圭谷-书声琅琅教育旗下高端IT教育品牌,专注python语言领域
请教python如何处理结构化数据
from ctypes import * class Req(Structure):
_fields_=[('uRouter',c_ubyte,1),
('uSubNode',c_ubyte,1),
('uCM',c_ubyte,1),
('uCD',c_ubyte,1),
('uLevel',c_ubyte,4),
('uChannel',c_ubyte,4),
('uErrBate',c_ubyte,4),
('uResBytes',c_ubyte),
('uSpeed',c_ushort,15),
('uUnit',c_ushort,1),
('uReserve',c_ubyte)] r=Req() sizeof(r)8 r.uUnit=1 print r.uUnit1 r.uUnit=2 print r.uUnit0