我正在运行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()只是读取用户指定的文件并在其上调用此函数。额外角色来自哪里的想法?谢谢!
(这是我的第一个问题。抱歉,如果我做错了什么!)
答案 0 :(得分:0)
在这里快速猜测。这可能与线路终端有关。有些系统使用' \ r \ n'其他一些系统使用' \ n'只要。我认为osx使用' \ r'仅
根据平台的不同,len会计算其中一个或不计算,并返回略有不同的计数
答案 1 :(得分:0)
您在文件末尾有一个您没想到的换行符。
您可以使用linux命令truncate -s $(($(wc -m myfile | cut -d' ' -f1)-1)) myfile
删除文件末尾的单个字符。