记一次flask(python)在服务器中下载文件关于路径的大坑

记一次flask(python)在服务器中下载文件关于路径的大坑!!

源代码中用了用字符串拼凑生成了关于路径的,在win下的测试能够正常通过,但是放到centos7 服务器中发生了无法生成,无法下载的情况,经过一番啃坑,发现了是绝对路径和相对路径的问题!!!

从而进行了修正代码:似乎是Linux系统一定要用os.path.join,才能识别真正的文件和生成文件

获取当前执行文件和执行文件夹的绝对路径:

from os.path import dirname, abspath
print(abspath(__file__))            # 获取当前执行文件的绝对路径
print(dirname(abspath(__file__)))   # 获取当前执行文件夹的绝对路径 

下面是修正了一行文件路径的方法:

    def save_doc_path(self):
        BASE_DIR = dirname(abspath(__file__))
        doc_path = os.path.join(BASE_DIR, 'down_doc')
        save_doc_path = str(self.createtid())
        doc_name = save_doc_path+'.docx'
        save_doc_path = os.path.join(doc_path,save_doc_path)+'.docx'
        return save_doc_path,doc_path,doc_name

 

你可能感兴趣的:(记一次flask(python)在服务器中下载文件关于路径的大坑)