文本处理用c还是用python
发布时间:2025-12-31 16:59:41

python与c的文本处理对比如下:
c++语言:
C++在C++中没有实现split功能的语言实现函数,下面用C++stl中的一些函数模拟实现split功能。#include<iostream>#include<string>#include<vector>#include<fstream>usingnamespacestd;/*
@in,src:待分割的字符串
@in,delim:分隔字符串
@in_out,dest:保存和分割后的每个字符串
*/voidsplit(conststring&src,conststring&delim,vector<string>&dest){
stringstr=src;
string::size_typestart=0,index;
stringsubstr;
index=str.find_first_of(delim,start);//在str中搜索(开始:start)delim任意字符首次出现的位置
while(index!=string::npos)
{
substr=str.substr(start,index-start);
dest.push_back(substr);
start=str.find_first_not_of(delim,index);//在str中搜索(开始:index)第一个不属于delim的字符出现的位置
if(start==string::npos)return;
index=str.find_first_of(delim,start);
}}intmain(){
ifstreaminfile("test.txt",ios::in);
vector<string>results;
stringword;
stringdelim("");
stringtextline;
if(infile.good())
{
while(!infile.fail())
{
getline(infile,textline);
split(textline,delim,results);
}
}
infile.close();
vector<string>::iteratoriter=results.begin();
while(iter!infile.fail())
{
getline(infile,textline);
split(textline,delim,results);
}
}
infile.close();
vector<string>::iteratoriter=results.begin();
while(iter!=results.end())
{
cout<<*iter++<<endl;
}
return0;}python语言:
Python中有一个特殊的函数split()来分割字符串,以实现相对简单的myfile=open('test.txt','r')allWords=[]line=myfile.readline()whileline:
list=line.split('')
forwordinlist:
ifword[-1]='\n':
allWords.append(word[:-1]#去掉行末'\n'
else:
allWords.append(word)
line=myfile.readline()myfile.close()printallWords相比之下,Python开发效率更好,然后是c++(但是一旦c++这些方法提前包装,也很好)。
下一篇 python怎么判断数字不等?
