为什么我的Path.expanduser不断收到以下错误消息? ['str'对象没有属性'_drv']

时间:2019-05-24 09:37:24

标签: python

我正在尝试使用Path.expanduser()提取所有Web应用程序用户的基本目录。我打算使用基本目录找到“下载”文件夹,并将所有Web应用程序导出直接导入各自的“下载”文件夹。但是当我实现此功能并尝试通过检查目录返回它来测试它时,我只收到['str'对象没有属性'_drv']的错误消息,而不是基本目录。

将pathlib导入我的app.py

我的app.py的片段

from flask import Flask, flash, redirect, render_template, request, session, abort, jsonify, url_for, Markup
from wtforms import Form, TextField, TextAreaField, validators, StringField, SubmitField, SelectField, SelectMultipleField
from werkzeug import secure_filename
from pprint import pprint
from pathlib import Path 

@app.route('/process_pt', methods = ['GET', 'POST'])
def process_pt():
    if request.method == 'POST':
        colSelection = request.form.get('selectedCol')
        cols = colSelection.split(",")
        valSelection = request.form.get('selectedVal')
        global filtered_df
        filtered_df = pd.pivot_table(filtered_df, values=[valSelection], index=cols, aggfunc=np.sum)
        filtered_df.reset_index()

        dl_path = Path.expanduser('~\\Users')
        print(str(dl_path))

        return render_template(
            'summarized_df.html',
            data = filtered_df.to_html()
        )

预期:dl_path返回基本目录 实际:错误消息“ str”对象没有属性“ _drv”

1 个答案:

答案 0 :(得分:1)

您应该使用os.path.expanduser处理字符串。

pathlib.Path.expanduserpathlib.Path对象的方法。您可以将字符串转换为这样的对象,然后使用Path('~\\Users').expanduser()进行所需的操作。