python启动方法

时间:2011-04-05 20:15:26

标签: python

我对python有点新意,无法弄清楚为什么这不起作用。 我有一个类似的变量:

[u'\n                Data I want              ']

但我也有简单的变量:

[u'                more Data I want              ']

我通过循环运行变量,但我需要去除数据周围的所有额外内容。我创建了一个处理这个问题的函数,但我不确定它为什么不起作用(我不确定,但我怀疑\ n是一个特殊字符)

def stripName(name):
    name = str(name)
    if name.startswith( "\n" ):
        print "starts with new line"
        name = name[5:-2]
    else:
        print "does not start with new line"
        name = name[3:-2]
    return name

问题是“如果name.startswith(”\ n“)”永远不会匹配..我看过其他的例子,我想我正在按原样这样做。我甚至试过if name.startswith( "\n" ) == 'True':,但这也没有用。

提前感谢您提供的任何见解。

3 个答案:

答案 0 :(得分:4)

怎么样:

def stripName(name):
    return name[0].strip()

答案 1 :(得分:3)

我认为您正在传递list个实例,然后使用str(在name=str(name)中)将其转换为字符串。请改为name=name[0]

此外,代码看起来格式不正确。 def后面的行应缩进一级。

另一件事,startswith不是命令。这是一个方法。请直截了当地说出你的术语,否则你最终会变得非常困惑。像Python这样的编程语言没有任何“命令”。相反,代码由语句和表达式组成,包括方法调用。

答案 2 :(得分:1)

如果名称为[u'\n data '],则str(name)包含方括号。你应该写

name = name[0]