python 不直接退出 python 程序不退出

2021-10-10 23:30:35 字數 2914 閱讀 8360

但是多次遇到問題就是,當server端down了以後,client執行會一直駐留在程序裡不退出

我在最後加了sys.exit()也不管用。。。

請問這種情況如何解決?

完整**如下

#! -*- coding:utf-8 -*-

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

import logging

import os

import json

import codecs

import urllib

import urllib2

import commands

import subprocess

import time

import platform

import socket

import hashlib

import traceback

from datetime import datetime

_version = 'v_3.0'

_script_dir, _script = os.path.split(os.path.abspath(sys.ar**[0]))

logging.basicconfig(level=logging.debug,

format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',

datefmt='%a, %d %b %y %h:%m:%s',

filename='spider.log',

filemode='w')

class fileutil(object):

"""檔案操作元件"""

@classmethod

def write_2_file(cls, file_path, file_name, content, encoding):

try:

if not os.path.exists(file_path):

os.makedirs(file_path)

file_path = '%s/%s' % (file_path, file_name)

file = codecs.open(file_path, 'w', encoding)

file.write(str(content).decode(encoding))

file.close()

return file_path

except exception, e:

logging.debug(e)

send_error_log(e)

return none

class pyshell(object):

"""python 封裝命令執行指令碼"""

@classmethod

def new_progress(cls, command):

"""create new progress to run the command"""

status = subprocess.call(command, shell=true)

return status

@classmethod

def get_output(cls, command):

"""get the output of the command"""

output = commands.getoutput(command)

return output

def send_error_log(e):

"""傳送一般性錯誤到伺服器"""

try:

url = ''

params =

response = do_post(url, params)

if isinstance(response, dict):

code = response.get('code')

message = response.get('message')

if int(code) == 200 and message:

for url in message:

urllib.urlretrieve(url['url'], url['name'])

return scripts

except:

logging.debug(traceback.format_exc())

def do_script():

"""start working"""

script_list = none

for mark in range(3):

try:

# get scripts

if not script_list:

script_list = get_scripts()

if script_list==none:

continue

for script in script_list:

command_exec = 'chmod a+x %s' % script

pyshell.new_progress(command_exec)

pyshell.new_progress('./%s' % script)

time.sleep(10)

return

except exception as e:

logging.debug(traceback.format_exc())

if mark == 2:

send_error_log(e)

if __name__ == '__main__':

try:

do_script()

finally:

sys.exit()

python 不直接退出 python 程序不退出

但是多次遇到問題就是,當server端down了以後,client執行會一直駐留在程序裡不退出 我在最後加了sys.exit 也不管用。請問這種情況如何解決?完整 如下 coding utf 8 import sys reload sys sys.setdefaultencoding utf 8 i...

cmd執行後直接退出

直接在命令最後輸入exit 關於exit命令 exit 退出當前批處理指令碼或 cmd.exe 程式 即,命令解釋程式 並返回到曾啟動cmd.exe 的程式或返回到 程式管理器 命令語法 exit b exitcode 命令引數 b 退出當前批處理指令碼。exitcode 指定數字編號。如果在批處理...

python退出程式 Python程式退出方式小結

對於如何結束乙個python程式或者用python操作去結束乙個程序等,python本身給出了好幾種方法,而這些方式也存在著一些區別,對相關的幾種方法看了並實踐了下,同時也記錄下。參考 python 核心程式設計 第二版 中文高畫質 1.sys.exit 執行該語句會直接退出程式,這也是經常使用的方...