求助python的文本处理

xhnqchchfeng 2010-01-13 05:54:39
举例:
文件a 大约1000行 每行为一个词语
比如说:
文明
卫生
游戏
娱乐
。。。。

文件b 大约1000行 每行为一段话
比如说:
为什么需要使用子组匹配呢? 主要是有时除了进行匹配操作外
自2001年1月15日正式成立,由维基媒体基金会负责维持,截至2009年11月时,维基百科条目数第一
维基百科、赣语维基百科及客家语维基百科等,皆是众多不同语言维基百科的成员之一。
。。。。。。

我要做的工作是找出文件a中每个词语在文件b中出现的次数
该如何编程呢?
初学python 谢谢
...全文
257 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
grunt112233 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xhnqchchfeng 的回复:]
引用 6 楼 grunt112233 的回复:
引用 3 楼 xhnqchchfeng 的回复:
我在3.1和2.6版本下尝试两位的代码 都不成功啊
我的文件是中文的 是这个原因吗?
继续求助~~~


我的是2.4的,好使啊

我运行的结果是这样的
Traceback (most recent call last):
  File "C:/Python26/00", line 23, in <module>
    get_cnt_from_file("C:\b.txt", "C:\a.txt")
  File "C:/Python26/00", line 9, in get_cnt_from_file
    fd1 = open(file1, 'r')
IOError: [Errno 22] invalid mode ('r') or filename: 'C:\x08.txt'
不知道为什么变成了'C:\x08.txt'。。我明明输的是C:\b.txt。。。
[/Quote]

你确定是c:\b.txt而不是c:\\b.txt?我在sol10环境不是win的
sqjunior77 2010-01-14
  • 打赏
  • 举报
回复
初学者都比我厉害,^_^!
xhnqchchfeng 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 grunt112233 的回复:]
引用 3 楼 xhnqchchfeng 的回复:
我在3.1和2.6版本下尝试两位的代码 都不成功啊
我的文件是中文的 是这个原因吗?
继续求助~~~


我的是2.4的,好使啊
[/Quote]
我运行的结果是这样的
Traceback (most recent call last):
File "C:/Python26/00", line 23, in <module>
get_cnt_from_file("C:\b.txt", "C:\a.txt")
File "C:/Python26/00", line 9, in get_cnt_from_file
fd1 = open(file1, 'r')
IOError: [Errno 22] invalid mode ('r') or filename: 'C:\x08.txt'
不知道为什么变成了'C:\x08.txt'。。我明明输的是C:\b.txt。。。
xhnqchchfeng 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 thy38 的回复:]
引用 4 楼 xhnqchchfeng 的回复:
大家帮下忙啊 很愁T_T
与中文无关,我就是用的你的数据,只是在a.txt最后加了个‘维基’。
[/Quote]
恩恩
请问前面需要加# -*- coding: utf-8 -*-之类的前缀吗?
我运行的结果是这样的
Traceback (most recent call last):
File "C:/Python26/00", line 3, in <module>
f = io.FileIO('C:\b.txt', 'r')
IOError: [Errno 22] Invalid argument
不知道是什么原因。。。。不知道是不是少写了东西,“你可能是编码没有设置好”应该怎么设置啊- -谢谢!
grunt112233 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xhnqchchfeng 的回复:]
我在3.1和2.6版本下尝试两位的代码 都不成功啊
我的文件是中文的 是这个原因吗?
继续求助~~~
[/Quote]

我的是2.4的,好使啊
thy38 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xhnqchchfeng 的回复:]
大家帮下忙啊 很愁T_T
[/Quote]与中文无关,我就是用的你的数据,只是在a.txt最后加了个‘维基’。
thy38 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xhnqchchfeng 的回复:]
我在3.1和2.6版本下尝试两位的代码 都不成功啊
我的文件是中文的 是这个原因吗?
继续求助~~~
[/Quote]不应该,我写完测试过的。你可能是编码没有设置好。
xhnqchchfeng 2010-01-13
  • 打赏
  • 举报
回复
大家帮下忙啊 很愁T_T
grunt112233 2010-01-13
  • 打赏
  • 举报
回复
同样是初学!

#!/usr/bin/python

import os
import sys

def get_cnt_from_file(file1, file2):
fd1 = open(file1, 'r')
for key in fd1.readlines():
cnt = 0
key = key.strip()
fd2 = open(file2, 'r')
for line in fd2.readlines():
line = line.strip()
cnt += line.count(key)
fd2.close()
print "%s:%d" % (key,cnt)
fd1.close()

return 0

get_cnt_from_file("t1", "t2")
xhnqchchfeng 2010-01-13
  • 打赏
  • 举报
回复
我在3.1和2.6版本下尝试两位的代码 都不成功啊
我的文件是中文的 是这个原因吗?
继续求助~~~
thy38 2010-01-13
  • 打赏
  • 举报
回复
import io
f = io.FileIO('b.txt', 'r')
s = f.readall()
f.close()

f = open('a.txt')
for i in f:
#use strip() to delete '\n'
print i.strip(), s.count(i)
f.close()

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧