我正在搞乱Django。我在我的一个应用程序(在management / commands文件夹中)有一个自定义管理脚本,它有一个subprocess.call()行。我正在做一个'sort A.csv -o A_sorted.csv'调用。写入的已排序文件在每行末尾都是'^ M'。我发现从命令行运行sort命令或通过未在Django中运行的普通python脚本中的subprocess.call()调用相同的命令时,不会发生这种情况。
关于为什么会发生这种情况以及如何防止这种情况发生的任何想法?
感谢。
答案 0 :(得分:0)
sort
根据自己的意愿改变从Unix到Windows的行结尾的可能性极小。 A.csv
更有可能已包含Windows行结尾,而sort
仅保留它们。如果您的脚本首先创建A.csv
,请仔细检查正在使用的换行符约定。