Python字符数中的额外字符(Fedora,Gedit)

时间:2014-11-08 06:02:42

标签: python fedora gedit

我正在运行Fedora,Python 2.7和Gedit,并在一个简单的字符数函数中遇到一个奇怪的错误:

    def charCount(text):
        text.seek(0)
        # read the whole file as one string
        full_string = text.read()
        char_count = len(full_string)
        # return the count
        return char_count

在我的Mac上运行此功能得到正确的数量,但在我的Fedora comp上,我在计数中不断增加1个。我的main()只是读取用户指定的文件并在其上调用此函数。额外角色来自哪里的想法?谢谢!

(这是我的第一个问题。抱歉,如果我做错了什么!)

2 个答案:

答案 0 :(得分:0)

在这里快速猜测。这可能与线路终端有关。有些系统使用' \ r \ n'其他一些系统使用' \ n'只要。我认为osx使用' \ r'仅

根据平台的不同,len会计算其中一个或不计算,并返回略有不同的计数

答案 1 :(得分:0)

您在文件末尾有一个您没想到的换行符。

您可以使用linux命令truncate -s $(($(wc -m myfile | cut -d' ' -f1)-1)) myfile删除文件末尾的单个字符。