diff --git a/基本结构/042 restful/tf-34.py b/基本结构/042 restful/tf-34.py
deleted file mode 100644
index ef904e3..0000000
--- a/基本结构/042 restful/tf-34.py	
+++ /dev/null
@@ -1,107 +0,0 @@
-import re, sys
-from cppy.cp_util import *
-
-stops = get_stopwords()
-data = {}
-
-# 路径问题,测试输入 test.txt ,演示当前目录下这个文件的处理
-#################################################################################
-# 服务端
-def error_state():
-    return "Something wrong", ["get", "default", None]
-
-def quit_handler(args):
-    sys.exit(" ... ")
-
-def upload_get_handler(args):
-    return "Name of file to upload?", ["post", "file"]
-
-def default_get_handler(args):
-    rep = "What would you like to do?"
-    rep += "\n1 - Quit" + "\n2 - Upload file"
-    links = {"1" : ["post", "execution", None], 
-             "2" : ["get", "file_form", None]}
-    return rep, links
-
-def upload_post_handler(args):
-    def create_data(fn):
-        if fn in data: return
-        word_freqs = {}
-        with open(fn) as f:
-            for w in [x.lower() for x in re.split("[^a-zA-Z]+", f.read()) if len(x) > 0 and x.lower() not in stops]:
-                word_freqs[w] = word_freqs.get(w, 0) + 1
-        wf = list(word_freqs.items())
-        data[fn] = sorted(wf,key=lambda x: x[1],reverse=True)
-
-    if args == None:  return error_state()
-    filename = args[0]
-    try:
-        script_dir = os.path.dirname(os.path.abspath(__file__))  
-        filename = os.path.join(script_dir, filename)
-        create_data(filename)
-    except:
-        print("Unexpected error: %s" % sys.exc_info()[0])
-        return error_state()
-    return word_get_handler([filename, 0])
-
-def word_get_handler(args):
-    def get_word(filename, word_index):
-        if word_index < len(data[filename]):
-            return data[filename][word_index]
-        else:
-            return ("no more words", 0)
-
-    filename = args[0]; word_index = args[1]
-    word_info = get_word(filename, word_index)
-    rep = '\n#{0}: {1} - {2}'.format(word_index+1, word_info[0], word_info[1])
-    rep += "\n\nWhat would you like to do next?"
-    rep += "\n1 - Quit" + "\n2 - Upload file"
-    rep += "\n3 - See next most-frequently occurring word"
-    links = {"1" : ["post", "execution", None],
-             "2" : ["get", "file_form", None],
-             "3" : ["get", "word", [filename, word_index+1]]}
-    return rep, links
-
-# Handler registration
-handlers = {"post_execution" : quit_handler,
-            "get_default" : default_get_handler,
-            "get_file_form" : upload_get_handler,
-            "post_file" : upload_post_handler,
-            "get_word" : word_get_handler }
-
-# The "server" core
-def handle_request(verb, uri, args):
-    def handler_key(verb, uri): 
-        return verb + "_" + uri
-    if handler_key(verb, uri) in handlers:
-        return handlers[handler_key(verb, uri)](args)
-    else:
-        return handlers[handler_key("get", "default")](args)
-
-#################################################################################
-# 仿真简单的浏览器客户端动作
-def render_and_get_input(state_representation, links):
-    print(state_representation)
-    sys.stdout.flush()
-    if type(links) is dict:
-        input = sys.stdin.readline().strip()
-        if input in links:
-            return links[input]
-        else:
-            return ["get", "default", None]
-    elif type(links) is list:
-        if links[0] == "post": # get "form" data
-            input = sys.stdin.readline().strip()
-            links.append([input]) # add the data at the end
-            return links
-        else: # get action, don't get user input
-            return links
-    else:
-        return ["get", "default", None]
-
-
-if __name__ == "__main__":  
-    request = ["get", "default", None]
-    while True:    
-        state_representation, links = handle_request(*request) # "server"    
-        request = render_and_get_input(state_representation, links) # "client"
\ No newline at end of file