【发布时间】:2014-03-26 12:16:55
【问题描述】:
编辑:这个问题与其他“首字母大写”问题不同,因为它只需要在“[”和“]”之间大写。由于标题不完整,我已经编辑了它。
我有一个文本文件,我需要在其中重新格式化文本。
当文件在 'r+' 中打开时,我尝试循环行和单词,但没有成功。
这是一个示例:
Create Table Data(
[SOME ID] int,
[LAST NAME] varchar(30),
[FIRST NAME] varchar(30),
[TLA THING] smallint,
[TLA THING REMARK] varchar(255)
)
我希望 [ ] 之间的每个单词的第一个字母大写。作为奖励,我希望将 [ ] 之间的空格替换为下划线。
我试过的代码:
f = open('somescript.sql','r+')
for line in f:
for word in line:
word.capitalize()
我还尝试了f.write(word.capitalize()) 而不仅仅是word.capitalize。所有的结果都同样悲惨。
【问题讨论】:
-
同样悲惨? :) 意味着文件中没有任何变化?是不是发生了别的事情?请指定。
-
1.文件以错误的模式打开,2. 一旦你读取一个文件,文件指针被移动,所以你没有覆盖逻辑是错误的 3. 创建一个新文件写入并删除这个旧文件并重命名该文件。
-
IRS或camelCaseHyphenated-Words之类的呢? -
这些方括号是否真的存在于您的文件中?或者你只是用它们来表示占位符文本?你能提供与它们看起来完全一样的示例输入/输出吗?
-
@batbrat 为颜色道歉。同样悲惨的意味着两者都是失败的。一个以一个空文件结束,另一个比我开始时多了几百万行。
标签: python capitalize