python - 如何拆分每行中的单词?
问题描述
我编写了一个代码来获取文本文件的一行中的每个单词。请看下文。
fname = input('Enter your file name:')
try:
fhand = open(fname)
except:
print('File cannot be opened:', fname)
word=[]
for word in fhand:
word = word.split()
print(word)
我运行这段代码,我得到了我想要的。但是,当我刚刚运行时print(word)
,它只显示最后一行的单词。我想我一开始没有定义word
。然后我添加word = []
但结果是一样的。
解决方案
在你的循环中 -
for word in fhand:
每次循环时都重新分配变量“word”。由于您将“单词”列为列表,因此您需要将新行附加到它而不是重新分配它。此外,两次使用“单词”可能存在一些问题,一次作为列表,一次在 for 循环计数器中。尝试类似的东西 -
word = []
fname = input('Enter your file name:')
with open(fname, 'r') as file:
for line in file:
word.append(line.split())
推荐阅读
- linux - 无法使用 DPDK 捕获 VLAN 标记的数据包
- php - 如何从选定的循环复选框中获取值?
- java - Android - 导航抽屉 - 与动态菜单项重叠的片段
- javascript - 在没有 setState 的情况下动态设置 react slick autoplayspeed
- pytorch - MNIST CNN 输出错误 = 模型(图像)
- javascript - 传单,折线数组上的动画标记(JS)
- git - 工作流程:带有功能分支、变基、拉取请求的 git(非开源项目)
- php - 未定义的方法数据库\工厂\ Laravel 8
- javascript - 如何修复“模块不可用!您拼错了模块名称或忘记加载它。” 在 AngularJS 中?
- html - AddtoAny Share 页面插件显示 URL 两次