我想我有点误会了。我制作了一个简单的python测试文件,以了解权限如何影响python文件的使用。我这么做是为了能够回答64位ubuntu12.04蟒无法运行现有python文件
我制作了一个包含内容的test.py文件
print 'I am working'ls -al test.py
-rw-r--r-- 1 joey joey 25 Dec 24 11:11 test.py
python test.py
I am workingchmod +x test.py,但是python为什么要执行这个文件呢?chmod 400 test.py
ls -al test.py
-r-------- 1 joey joey 25 Dec 24 11:11 test.py
python test.py
I am working显然python只需要读取权限才能执行我的文件?
chmod 200 test.py
ls -al test.py
--w------- 1 joey joey 25 Dec 24 11:11 test.py
python test.py
python: can't open file 'testo.py': [Errno 13] Permission denied写入权限不足(对于记录而言,只有可执行权限也不足)。
发布于 2013-12-24 10:47:24
是的,Python只需要读取文件内容。回想一下Python是一种解释语言(如PHP、Ruby等)只需处理该文件的内容,而不是执行它;python是这里的可执行文件!
有关适当的背景信息,请注意,您可以以两种方式运行脚本:
注:在以前一种形式运行时(因此被忽略),这样的shebang行也是Python中的注释,因此它可以双向工作。如果一次运行需要不同的解释器版本,例如python3.10 myscript.py (如果您不喜欢默认的python ),则可能对用户有用。这就是为什么您可能会看到后一种形式在任何入口点/脚本中都相当常见的原因。
发布于 2013-12-24 10:31:44
"python只需要读取权限“来读取文件的内容并处理代码。
您的用户可以执行python。然后python可以读取文件(因为400)。如果您希望像“./tum.py”那样直接执行文件,那么您需要文件的执行权限。
https://askubuntu.com/questions/395124
复制相似问题