但是多次遇到問題就是,當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 執行該語句會直接退出程式,這也是經常使用的方...