Django 2.1.7 中的子进程
Subprocess in Django 2.1.7
所以,我的问题很简单
我想在 Django 2.1.7
中执行以下 shell 命令
libreoffice --headless --convert-to "txt:Text (encoded):UTF8" test.doc
更多信息。
我要上传 Doc 文件并想将其转换为 txt。我在想我是否可以使用 libreoffice 来这样做。
我的服务器是 Ubuntu 18.04 和 Python 3.6.7
我现在会在 Media Root 中上传文件,然后我想开始转换。
到目前为止,我已尝试执行以下操作:
@api_view(['POST'])
def convertfiledoc(request):
file = request.FILES['file']
fs = FileSystemStorage()
filename = fs.save(file.name, file)
uploaded_file_url = 'media/'
r = subprocess.call("libreoffice --headless --convert-to" +"txt:Text (encoded):UTF8" + "test.doc ")
print(r)
return Response(data={"message": uploaded_file_url}, status=status.HTTP_200_OK)
错误如下
FileNotFoundError: [Errno 2] No such file or directory: 'libreoffice --headless --convert-totxt:Text (encoded):UTF8test.doc ': 'libreoffice --headless --convert-totxt:Text (encoded):UTF8test.doc '
我知道我写的功能不完整,但我正在尝试这样做,看看它是否能正常工作。
我什至尝试对文件进行硬编码,但没有成功。
这对我有用
command=['libreoffice','--headless','--convert-to','txt:Text (encoded):UTF8','--outdir','test_dir','source_file.docx']
process = subprocess.Popen(command, stdout=subprocess.PIPE, universal_newlines=True)
所以,我的问题很简单 我想在 Django 2.1.7
中执行以下 shell 命令 libreoffice --headless --convert-to "txt:Text (encoded):UTF8" test.doc
更多信息。
我要上传 Doc 文件并想将其转换为 txt。我在想我是否可以使用 libreoffice 来这样做。 我的服务器是 Ubuntu 18.04 和 Python 3.6.7 我现在会在 Media Root 中上传文件,然后我想开始转换。 到目前为止,我已尝试执行以下操作:
@api_view(['POST'])
def convertfiledoc(request):
file = request.FILES['file']
fs = FileSystemStorage()
filename = fs.save(file.name, file)
uploaded_file_url = 'media/'
r = subprocess.call("libreoffice --headless --convert-to" +"txt:Text (encoded):UTF8" + "test.doc ")
print(r)
return Response(data={"message": uploaded_file_url}, status=status.HTTP_200_OK)
错误如下
FileNotFoundError: [Errno 2] No such file or directory: 'libreoffice --headless --convert-totxt:Text (encoded):UTF8test.doc ': 'libreoffice --headless --convert-totxt:Text (encoded):UTF8test.doc '
我知道我写的功能不完整,但我正在尝试这样做,看看它是否能正常工作。
我什至尝试对文件进行硬编码,但没有成功。
这对我有用
command=['libreoffice','--headless','--convert-to','txt:Text (encoded):UTF8','--outdir','test_dir','source_file.docx']
process = subprocess.Popen(command, stdout=subprocess.PIPE, universal_newlines=True)