2016-08-16 76 views
-3
with open('C:\Users\craig\Downloads\folder\test.txt', 'r') as myfile: 
    test = myfile.read().replace('', '') 

test.txt的是:文件分离 -

hugh:ted 
mark:mike 
ethan:jay 

我将如何让Python删除:和过去的一切? 例如,如何删除:ted,:mike,:jay,而不必手动将其写入替换部分中?

回答

0
import fileinput 

for line in fileinput.input('C:\Users\craig\Downloads\folder\test.txt', inplace=True): 
    if ':' in line:       
     print line.replace(line[line.index(':'):], '') 
+0

我更喜欢'line.split(':')[0]'。 – Matthias

0

你可以试试下面的代码片段。

import re 
import fileinput 
for line in fileinput.FileInput("/home/dma3node/test.txt", inplace=1): 
    line = re.sub(r"\:(.*)", "", line) 
    print line 
+0

嗨拉胡尔,欢迎来到堆栈溢出。在某些情况下,您的代码专用答案会更好;例如,如果您解释了用于解决提问者问题的技术,那么对于他们和寻找类似问题的答案的其他读者来说,这将会更有用。 –