首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python文件操作

python文件操作
EN

Stack Overflow用户
提问于 2010-03-03 11:50:15
回答 4查看 1.3K关注 0票数 0

我有一个包含如下条目的文件:261332。。。

和另一个包含英语句子的文件

我必须写一个脚本来打印句子26中的第一个单词和句子33中的第二个单词。我该怎么做呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-03 11:53:43

这是一个大致的草图:

  • 将第一个文件读入列表(每个元素中的数字条目)
  • 将第二个文件读入列表(条目列表上的每个条目中的句子,对于每个数字,找到该句子并打印其相关的单词

现在,如果您展示了如何在Python中实现此功能,您可能会得到更多帮助。

票数 1
EN

Stack Overflow用户

发布于 2010-03-03 12:14:48

下面的代码应该可以完成这项任务。假设文件不太大。你可能需要做一些修改来处理边缘情况(如双倍空格等)

代码语言:javascript
复制
# Get numers from file
num = []
with open('1.txt') as file:
    num = file.readlines()

# Get text from file    
text = []
with open('2.txt') as file:
    text = file.readlines()

# Parse text into words list.
data = []
for line in text:                    # For each paragraoh in the text
    sentences = l.strip().split('.') # Split it into sentences
    words = []
    for sentence in sentences:       # For each sentence in the text
        words = sentence.split(' ')  # Split it into words list
        if len(words) > 0:
            data.append(words)

# get desired result
for i = range(0, len(num)/2):
     print data[num[i+1]][num[i]]
票数 2
EN

Stack Overflow用户

发布于 2010-03-03 12:19:05

最大的问题是,你必须决定是什么分隔了“句子”。例如,'.'是句子的结尾吗?或者可能是缩写的一部分,例如我刚才使用的那个?-)其次,更简单的是,是什么分隔“单词”,例如,"TCP/IP“是一个单词还是两个单词?

一旦你明确地定义了这些规则,你就可以很容易地把文本文件读成一个“句子”列表,每个句子都是一个“单词”列表。然后,将另一个文件读取为一系列成对的数字,并将它们用作整体列表和所标识的子列表中的索引。但是句子和单词分离的问题是真正困难的部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2368618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档