eol python_乱记 EOL(End of Line)在windows和linux不同导致的Python问题
這篇博客是從舊博客 WordPress 遷移過來,內(nèi)容可能存在轉(zhuǎn)換異常。
今天把一個Python的代碼通過Samba從Windows傳到Gentoo里,看到已經(jīng)有x權(quán)限了,就直接通過./xxx.py來運行程序,結(jié)果報錯:
: No such file or directory
但是我又通過python xxx.py來測試,結(jié)果又可以正常運行
當時覺得這個問題很奇怪,冒號前面啥也沒有。
于是查了下文件屬性:
$ file xxx.py
xxx.py: Python script, ASCII text executable, with CRLF line terminators
果然就提示有問題了。
于是vim打開程序,設置fileformat:
: set ff=unix
于是就可以通過./xxx.py運行了。
但是還有一個比較納悶的事,就是為何用./xxx.py無法執(zhí)行,但是用python xxx.py卻可以,我在stackoverflow上提問了。因為./xxx.py是通過代碼第一行指定的解釋器來執(zhí)行,但是這里相當于:
!/usr/bin/env python^M
肯定就無法找到相關(guān)解釋器來執(zhí)行代碼了。
其實我的代碼首行如果不寫成:!/usr/bin/env python , 而改成:!/usr/bin/python,則提示比較清楚了:
bash: ./xxx.py: /usr/bin/python^M: bad interpreter: No such file or directory
總結(jié)
以上是生活随笔為你收集整理的eol python_乱记 EOL(End of Line)在windows和linux不同导致的Python问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文笔记:NEUROVASCULAR C
- 下一篇: Python学习笔记:接下来