Django脚本中'sort'命令的subprocess.call()将\ M添加到我的文件末尾

时间:2013-02-03 09:12:57

标签: python django linux unix sorting

我正在搞乱Django。我在我的一个应用程序(在management / commands文件夹中)有一个自定义管理脚本,它有一个subprocess.call()行。我正在做一个'sort A.csv -o A_sorted.csv'调用。写入的已排序文件在每行末尾都是'^ M'。我发现从命令行运行sort命令或通过未在Django中运行的普通python脚本中的subprocess.call()调用相同的命令时,不会发生这种情况。

关于为什么会发生这种情况以及如何防止这种情况发生的任何想法?

感谢。

1 个答案:

答案 0 :(得分:0)

sort根据自己的意愿改变从Unix到Windows的行结尾的可能性极小。 A.csv更有可能已包含Windows行结尾,而sort仅保留它们。如果您的脚本首先创建A.csv,请仔细检查正在使用的换行符约定。