【发布时间】:2019-09-21 16:28:07
【问题描述】:
我正在努力让 readline() 和 split() 像我期望的那样一起工作。我正在尝试使用 .split(')') 从文本文件中删除一些数据并将其中一些数据写入下一个文本文件。
我已尝试从行中编写所有内容。 我已经尝试 [cnt % 2] 来达到我的预期。
line = fp.readline()
fw = open('output.txt', "w+")
cnt = 1
while line:
print("Line {}: {}".format(cnt, line.strip()))
line = fp.readline()
line = line.split(')')[0]
fw.write(line + "\n")
cnt += 1
来自我正在读取的文本文件的示例。
WELD 190 制造 I MasterCAM 简介 (3) 1½ 小时讲座 - 4½ 小时实验室 注意:交叉列为 DT 190/ENGR 190/IT 190 本课程将向学生介绍 MasterCAM 和 2D 和基本 3D 造型。学生将收到所需零件的说明和图纸 2 轴或 3 轴加工。学生将设计、建模、编程、设置和运行 他们在各种机器上的零件,包括等离子切割机、水射流切割机和 铣床。 WELD 197 焊接技术主题 (.5 - 3)
我离真正有效地抓取这些数据还有很长的路要走,但我正在努力开始。
我的目标是只提取类名和编号并删除描述。
一如既往的感谢!
【问题讨论】:
-
您要提取哪些类名?每个类名还是第一个?
-
课程名称是WELD 190,还是课程代码为WELD 190,课程名称为Manufacturing I Introduction to MasterCAM?
-
@Enthus3d 对造成误解深表歉意。
-
啊,我明白了。如果您要解析该长度的文件,这似乎是一项艰巨的任务。我想您也许可以使用 _(2+CapitalChars)_(2+Nums)_(Class Name)_(1Num) 的正则表达式来获取具有该结构的每门课程,但摆脱重复项这可能会很痛苦。 [这里](regexr.com/4le96) 是我根据您的文件制作的示例。它无法处理换行符,但 regexr 网站是我在 Uni regex-heavy 课程之一中经常使用的。祝你好运!
-
哦,完全没问题。使用在线翻译很容易做到这一点。是的,语法是相当通用的,尽管不同的语言对特性的支持程度不同。
标签: python split io readline modulus