简体   繁体   中英

How do I call an existing python file with multiple functions from a main.py Bottle

Currently, my code is like this where I upload 2 files but I need to process them in temp files via another existing parse.py file with multiple functions.

How can I call them in Templates.py?

I tried adding import parse.py but it would give an error.

templates.py

@route('/')
def index():
return template('index')

@route('/', method='POST')
def upload():
incfile = request.files.get('uploadinc')
datfile = request.files.get('uploadhex')

macro, ext1 = os.path.splitext(incfile.filename)
data, ext2 = os.path.splitext(datfile.filename)
if ext1 not in ('.txt'):
    return 'File extension not allowed.'
if ext2 not in ('.txt'):
    return 'File extension not allowed.'
incfile.filename = 'macro.txt'
datfile.filename = 'data.txt'

curr_dir = os.getcwd()
print(curr_dir)
temp_dir = os.path.join(curr_dir, r'temp01')
if os.path.exists(temp_dir):
   shutil.rmtree(temp_dir)
os.makedirs(temp_dir)

incfile.save(temp_dir)  
datfile.save(temp_dir)   
clean_up(temp_dir)  // gives error

@route('/')
def clean_up():      // gives error

parse.py

 import os, sys, re, binascii

 def clean_up():

    if os.path.exists("dataparse.txt"):
            os.remove("dataparse.txt")
    else:
            print("Creating new files...")

    if os.path.exists("out3.txt"):
            os.remove("out3.txt")
    else:
            print("Creating new files...")

def parse_hexdump():
    a = open("data.txt","r")
    b = open("dataparse.txt","a")
    w = open("out3.txt","a")
   str = a.readline()
   w.write(str)
   for line in a:
   if line.startswith('MD') or line.startswith('END OF DISPLAY'):
     continue
   else:
     strline = line[5:40:]  # Slice lines from 5-40 to another file
     b.write(strline+'\n')
  b.close()
  w.close()

Just import parse , you don't put .py at the end of an import statement. Since you seem to want to just use the functions rather than calling parse.clean_up , you could instead do from parse import clean_up . The file parse needs to either be in your local directory (where you're running the python interpreter) or in your PYTHONPATH environment variable.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM