gpt4 book ai didi

python - Linux 将相同的 .py 文件识别为不同的

转载 作者:可可西里 更新时间:2023-11-01 11:54:10 25 4
gpt4 key购买 nike

我正在用 Python 开发 CGI 脚本。我在我的服务器上运行了一个基本的“Hello World”脚本,它运行良好,但我尝试在我的 Windows 笔记本电脑上(在 Sublime text 2 中)编写并复制的所有内容都抛出了 Apache 500 错误,没有任何调试信息。最后,我将 HelloWorld 脚本的文本复制到 Windows,将其粘贴到一个 .py 文件中,然后将其复制回去,却发现它仍然不起作用。我认为这可能是一个权限错误,但两个文件具有完全相同的权限。在 nano 中,它们看起来完全一样,但一个有效,一个无效。通过使用 sdiff,我发现它们有些不同,它表示它们是完全不同的文件,尽管所有文本都是相同的。我尝试了十六进制转储,发现虽然文本相同,但 1 和 0 不同。有谁知道我是否可以在 python 中设置某种编码来防止 Apache 抛出错误?

我的终端屏幕截图并排显示文件和十六进制转储。 test.py 是可以正常工作的 linux CGI 脚本。 Orig.py 是我从 Windows 复制过来的脚本。copied.py 是我制作的 test.py 的副本,用于演示 sdiff 的输出应该是什么时候这两个文件是相同的。

enter image description here

更新:检查编码,两个文件输出
文本/x-java; charset=us-ascii

最佳答案

正如 Bakuriu 所提到的,这是一个行尾差异。

注意十六进制输出:

“test.py”文件以 ...0a 结尾,而“orig.py”文件以 ...0d0a 结尾。

0a 对应于换行符 \n,而 0d 对应于换行符“\r”。

如果你在 Vim 中打开 'orig.py',你应该在行尾看到 ^M。欢迎来到跨平台开发的乐趣和游戏(:

您可以使用像 dos2unix 这样的程序来解决这个问题。

关于python - Linux 将相同的 .py 文件识别为不同的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21437228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com