У меня есть сценарий, который я написал для сканирования каталога текстовых файлов, и если он находит их, он создает системный вызов для запуска скрипта в txt-файле. Я все еще работаю над несколькими небольшими ошибками, из-за которых некоторые из моих системных вызовов терпят неудачу. Однако я хотел бы, чтобы это НЕ убило мой скрипт. Я просто хотел бы получить информацию об ошибке, а затем продолжить свою жизнь. Кажется, что любой успешный вызов возвращает 0, а любой вызов, который привел к ошибке, возвращает n. Я попытался сравнить результат с 0, но он так и не дошел. Любые предложения о том, как я могу это сделать?Продолжающийся скрипт после сбоя на os.system вызов python
import sys, getopt, os
def main(argv):
def scan_dir(path):
temp_path = path
print temp_path
for file in os.listdir(path):
temp_path += file
if file.endswith(".txt"):
result = os.system("python callscript.py -i %s" % path)
if result != 0
print "Error!"
temp_path = path
def usage():
print "usage: dostuff.py [hi:]\n \
\t -h\t print usage\n \
\t -i\t directory path\n"
sys.exit(2)
if(len(argv) == 0):
usage()
path = ''
try:
opts, args = getopt.getopt(argv,"hi:",["path="])
except getopt.GetoptError:
usage()
for opt, arg in opts:
if opt == '-h':
usage()
elif opt in ("-i", "--ipath"):
path = arg
if path.endswith('/') == False:
path += '/'
scan_dir(path)
if __name__ == "__main__":
main(sys.argv[1:])
Вы можете посмотреть в попытке кроме этого – LampPost
Зачем использовать 'os' в первую очередь, если ваш цикл в Python и скрипт в Python? – physicalattraction