input = open("ex3.txt")
DNA = input.read()
DNA2 = "AAAACCCGGT"
print "string=", DNA,"len=", len(DNA)
print "strin2=",DNA2,"len=",len(DNA2)
返回
>string= AAAACCCGGT
>len= 11
>strin2= AAAACCCGGT len= 10
如您所见,两个看起来相同的字符串具有不同的长度,因为当我使用input.read()加载输入时,字符串以Nonetype结尾(编辑:实际上以'\ n'结尾)
有没有办法从文本文件加载字符串输入而不以Nonetype结尾?或者我应该按原样加载并拼接输入,如DNA [: - 1]假设.read()将始终将Nonetype作为最终值?
感谢您的任何提示:-D
编辑:我认为我对Nonetype感到困惑的原因是因为错误消息: “TypeError:无法连接'str'和'NoneType'对象”无论如何,调用.rstrip非常感谢所有人
答案 0 :(得分:1)
.read
始终为\n
iff ,并且有返回字符。这意味着如果该行之后没有另一行,DNA[:-1]
可能会中断。
实现目标的一种方法是DNA.rstrip()
。这将删除字符串右侧的空格。
另外,如果您知道要阅读一行,则可能需要.readline
。 read
读取整个文件,可能是几行。