如何忽略在python中提取文件名的单引号

时间:2015-08-15 16:30:48

标签: python

我有一个包含其他文件列表的文件(main.cpp)。格式如下:

FILE: 'addition.cpp'
FILE: 'matrix.cpp'
FILE: 'rate_of_interest.cpp'

我的代码如下:

lines=mainfile.read().splitlines()
for i, line in enumerate(lines):
    line = line.strip()
    if "FILE:" in line:
        fileName = line.strip().split("FILE:")[1].strip()
    else 
       print "Invalid file" 

打印如下

'addition.cpp'
'matrix.cpp'
'rate_of_interest.cpp'

但我想如下,

addition.cpp
matrix.cpp
rate_of_interest.cpp

如何删除单引号?我是python的新手,尝试了各种方式,但没有发生。

5 个答案:

答案 0 :(得分:1)

fileName = line.strip().split("FILE: ")[1].strip("'")

答案 1 :(得分:0)

尝试做:

fileName = line.strip().split("FILE:")[1].strip().replace("'", "")

答案 2 :(得分:0)

您可以使用字符串replace方法

str.replace("'","")

答案 3 :(得分:0)

with open("in.cpp") as f:
    for line in  f:
        if line.startswith("FILE:"):
            print(line.split()[1].strip("'"))

输出:

addition.cpp
matrix.cpp
rate_of_interest.cpp

答案 4 :(得分:0)

正则表达式解决方案FILE:\s*'(.+)'

import re

data = """FILE: 'addition.cpp'
          FILE: 'matrix.cpp'
          FILE: 'rate_of_interest.cpp'
       """

for line in re.findall(r"FILE:\s*'(.+)'", data):
    print(line)

如果您要查找空的文件名,请在上面的正则表达式代码中将+更改为*