[英]How to change variable in python file using an executable linux program/script?
[英]How do I search for an executable file using python in linux?
如何在linux中使用python搜索可執行文件? 可執行文件沒有擴展名,並且與具有不同擴展名的文件一起位於文件夾中。 謝謝
編輯:我的意思是搜索是獲取所有可執行文件的文件名,並將它們存儲在列表或元組中。 謝謝
要在Python中執行此操作:
import os
import stat
executable = stat.S_IEXEC | stat.S_IXGRP | stat.S_IXOTH
for filename in os.listdir('.'):
if os.path.isfile(filename):
st = os.stat(filename)
mode = st.st_mode
if mode & executable:
print(filename,oct(mode))
如果通過搜索,您的意思是列出目錄中的所有可執行文件,而不是使用此SuperUser Link中的命令。您可以使用Subprocess模塊從python代碼執行命令。
import shlex
executables = shlex.split(r'find /dir/mydir -executable -type f')
output_process = subprocess.Popen(executables,shell=True,stdout=subprocess.PIPE)
函數os.access()在某些情況下比os.stat()更好,因為它根據文件所有者,組和權限檢查文件是否可以由您執行。
import os
for filename in os.listdir('.'):
if os.path.isfile(filename) and os.access(filename, os.X_OK):
print(filename)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.