Python 如何使用os.chmod更改多个文件的权限

Python 如何使用os.chmod更改多个文件的权限,python,shell,Python,Shell,我有一个包含多个文件的目录(一些shell文件以.sh结尾,一些文本文件和一些python文件以.py扩展名结尾) 我想使用os.chmod命令向所有shell文件(以.sh结尾)添加执行权限。基本上我想这样做: chmod +x *.sh 我尝试先执行以下操作来检查权限: >>> s = os.stat('*.ksh') Traceback (most recent call last): File "<stdin>", line 1, in <mod

我有一个包含多个文件的目录(一些shell文件以.sh结尾,一些文本文件和一些python文件以.py扩展名结尾)

我想使用os.chmod命令向所有shell文件(以.sh结尾)添加执行权限。基本上我想这样做:

chmod +x *.sh
我尝试先执行以下操作来检查权限:

>>> s = os.stat('*.ksh')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 2] No such file or directory: '*.ksh'
>s=os.stat('*.ksh')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
OSError:[Errno 2]没有这样的文件或目录:'*.ksh'
但这行不通。 如何以pythonic的方式执行此操作?

使用获取文件列表,然后对其进行循环:

import glob, os, stat

for name in glob.glob('*.sh'):
    print(name, os.stat(name))
您可以根据使用
os.chmod()
来实际添加可执行模式位:

for name in glob.glob('*.sh'):
    st = os.stat(name)
    os.chmod(name, st.st_mode | stat.S_IEXEC)
使用获取文件列表,然后在其上循环:

import glob, os, stat

for name in glob.glob('*.sh'):
    print(name, os.stat(name))
您可以根据使用
os.chmod()
来实际添加可执行模式位:

for name in glob.glob('*.sh'):
    st = os.stat(name)
    os.chmod(name, st.st_mode | stat.S_IEXEC)

忘了地球仪。谢谢你,本!忘了地球仪。谢谢你,本!