python pyshark не может импортировать файл — проблема с os.path?

Когда я пытаюсь загрузить файл, который находится в папке приложения (корневом каталоге приложения), у меня нет проблем, однако, если я хочу загрузить файл, который находится вне папки приложения, то есть на рабочем столе, я получаю сообщение об ошибке ниже.

Я нашел похожий пост, но он мне не помог. Однако похоже на проблему с корневой областью, я довольно новичок в Python и, похоже, не могу найти хорошее решение, чтобы исправить это.

app.root_path = os.path.dirname(os.path.abspath(__file__))

target = os.path.join(app.root_path, 'pcap/')

json_target = os.path.join(app.root_path, 'static/json/')

@app.route("/", methods=['GET','POST'])
def upload_pcap():
    if request.method == 'POST':

        if 'file' not in request.files :
            flash('No file')
            return redirect(request.url)
        file = request.files['file']

        if file.filename == '' :
            flash('No file selected')
            return redirect(request.url)
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            cap = pyshark.FileCapture(filename)

        destination = "".join([target, filename])

        # create folder for pcap file if there is none
        if not os.path.isdir(target):
            os.mkdir(target)

        # create folder for json file if there is none
        if not os.path.isdir(json_target):
            os.mkdir(json_target)

        print(target)

        for file in request.files.getlist("file"):
            print(file)

            print(destination)

            cap.apply_on_packets(print_conversation_header,timeout=100)
            print(pcap_list[8])

            with open('static/json/data.json', 'w') as outfile:
                json.dump(pcap_list, outfile)

                file.save(destination)
                #file.save(os.path.join([target, filename])

        return redirect(url_for('upload_pcap', filename=filename))

return render_template('upload.html', data=pcap_list)

Трассировка стека

    Traceback (most recent call last):
      File "/Users/username/PycharmProjects/untitled/venv1/lib/python3.6/site-    packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File"/Users/username/PycharmProjects/untitled/venv1/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/username/PycharmProjects/untitled/venv1/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/username/PycharmProjects/untitled/venv1/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/Users/username/PycharmProjects/untitled/venv1/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/username/PycharmProjects/untitled/venv1/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/Users/username/PycharmProjects/untitled/pcap.py", line 67, in upload_pcap
    cap = pyshark.FileCapture(filename)
  File "/Users/username/PycharmProjects/untitled/venv1/lib/python3.6/site-packages/pyshark/capture/file_capture.py", line 48, in __init__
    raise FileNotFoundError(str(self.input_filename))
FileNotFoundError: this_angler.pcap
127.0.0.1 - - [08/Feb/2018 13:28:39] "POST / HTTP/1.1" 500 -

person wolfishCoder    schedule 08.02.2018    source источник
comment
FileNotFoundError: this_angler.pcap кажется, что у вас есть файл в текущем каталоге, но текущий каталог не тот, который вы думаете.   -  person Jean-François Fabre    schedule 08.02.2018
comment
Я думаю, что путь, указанный для файла при загрузке, отправляется в корень приложения, а не в корень каталога для этого файла. Я пытался сделать что-то вроде cap = pyshark.FileCapture(os.path.dirname(os.path.abspath(filename))), чтобы передать абсолютный путь к pyshark, но это не сработает. Pyshark нужен абсолютный путь, в этом случае путь должен быть для того файла, который я загружаю.   -  person wolfishCoder    schedule 08.02.2018
comment
использование переменной filename или использование file возвращает ту же ошибку.   -  person wolfishCoder    schedule 08.02.2018