• 技术文章 >常见问题 >Python常见问题

    文本处理用c还是用python

    尤及尤及2020-06-01 09:36:49原创2469

    文本处理python与c的对比:如下

    c++语言:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    C++语言实现C++中没有实现split功能的函数,下面用C++ STL中的一些函数模拟实现split功能。#include <iostream>#include <string>#include <vector>#include <fstream>using namespace std;/*

    @in, src: 待分割的字符串

    @in, delim: 分隔符字符串

    @in_out, dest: 保存分割后的每个字符串

    */void split(const string& src, const string& delim, vector<string>& dest){

    string str = src;

    string::size_type start = 0, index;

    string substr;

    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);

    }}int main(){

    ifstream infile("test.txt", ios::in);

    vector<string> results;

    string word;

    string delim(" ");

    string textline;

    if(infile.good())

    {

    while(!infile.fail())

    {

    getline(infile, textline);

    split(textline, delim, results);

    }

    }

    infile.close();

    vector<string>::iterator iter = results.begin();

    while(iter != results.end())

    {

    cout<<*iter++<<endl;

    }

    return 0;}

    python语言:

    1

    2

    3

    4

    5

    6

    7

    8

    在Python中有专门的函数split()对字符串进行分割,实现较为简单myfile = open('test.txt', 'r')allWords = []line = myfile.readline()while line:

    list = line.split(' ')

    for word in list:

    if word[-1]=='\n':

    allWords.append(word[:-1])#去掉行末的'\n'

    else:

    allWords.append(word)

    line = myfile.readline()myfile.close()print allWords

    相比较而言,(抛开运行效率不说),开发效率比较好的是Python,然后是c++,(但是一旦c++这些方法提前包装好了,也是很不错的)。

    专题推荐:python
    上一篇:python怎么判断数字不等? 下一篇:python实现报表用什么?

    相关文章推荐

    • python怎么使用文件夹下的脚本?• python3导入docx出错怎么解决?• python如何显示出一张图片?• python的配置文件怎样写?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网