使用python执行带变量的linux命令
我正在编写一个python脚本,它应该给出.dll文件中的字符串以及存储在目录中的这些文件。剧本是使用python执行带变量的linux命令,python,linux,shell,python-2.7,Python,Linux,Shell,Python 2.7,我正在编写一个python脚本,它应该给出.dll文件中的字符串以及存储在目录中的这些文件。剧本是 import sys import os def main(): for lst in os.listdir("dir name"): print lst os.system("strings"+" "+lst) if __name__ == "__main__": main() 这段代码列出了目录中的文件,但它没有执行命令
import sys
import os
def main():
for lst in os.listdir("dir name"):
print lst
os.system("strings"+" "+lst)
if __name__ == "__main__":
main()
这段代码列出了目录中的文件,但它没有执行命令,给出了错误信息
**字符串:“filename”没有这样的文件**
这个脚本有什么问题 包含空格或其他特殊字符的文件名有问题 您可以尝试:
def quote(s):
return "'" + s.replace("'", "'\\''") + "'"
def main():
for lst in os.listdir("."):
print lst
os.system("strings " + quote(lst))
PS与Python 3.3(或更高版本)一起使用