版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012561176/article/details/85229193
1、最近要做个功能,查看文件的,之后就发现有两种方法可以简单打开一个文件,不知道为啥在本地可以,部署到linux上就不可以,而且还有一个方法搞到linux上会报错:
(1)、使用以下代码:
from django.shortcuts import render, redirect, reverse
import os, webbrowser
def show_file(request, id):
"""
查看文件
:param request:
:param id: 所查看文件存放路径表Userfile id
:return:
"""
user_file = Userfile.objects.get(id=id)
file_path = r'' + str(user_file.filepath)
# windows 自带浏览器打开或者文件打开
# webbrowser.open_new(file_path)
# os.startfile(file_path)
if webbrowser.open(file_path):
return redirect(reverse("user:user_file_list"))
else:
return redirect(reverse("user:user_file_list"))
其中使用webbrowser来打开文件在本地windows环境是可以的,部署到linux上去,发现文件路径没有问题,还是查看不了,而另外一种方法使用os.startfile(file_path)的是利用os这个库打开外部程序,从而打开这个文件,这个方法在linux底下会报错,报os找不到startfile这个属性方法。
2、后面我再看看有什么方法可以简单打开一个文件查看了,以上内容仅供大家学习参考,谢谢!