Python 3.x 如何将docker python算术程序的输出存储在excel中

Python 3.x 如何将docker python算术程序的输出存储在excel中,python-3.x,docker,Python 3.x,Docker,我需要在docker中运行一个使用python的简单算术程序,它会在excel中显示输出 执行算术运算的Python程序 导入xlsxwriter 导入xlrd num1=浮点(输入(“请输入第一个数值1:”) num2=浮点(输入(“请输入第二个数值2:”) #加两个数字 加法=num1+num2 #从num1中减去num2 sub=num1-num2 #将num1乘以num2 多重=num1*num2 #将num1除以num2 div=num1/num2 #num1和num2的模量 mod=

我需要在docker中运行一个使用python的简单算术程序,它会在excel中显示输出

执行算术运算的Python程序 导入xlsxwriter 导入xlrd num1=浮点(输入(“请输入第一个数值1:”) num2=浮点(输入(“请输入第二个数值2:”) #加两个数字 加法=num1+num2 #从num1中减去num2 sub=num1-num2 #将num1乘以num2 多重=num1*num2 #将num1除以num2 div=num1/num2 #num1和num2的模量 mod=num1%num2 #num1和num2的指数 世博会=num1**num2 打印({0}和{1}之和={2})。格式(num1,num2,add)) 打印(“从{1}={2}减去{0}”。格式(num2,num1,sub)) 打印(“{0}和{1}={2}的乘法”。格式(num1、num2、multi)) 打印(“对{0}和{1}={2}的除法”。格式(num1,num2,div)) 打印({0}和{1}={2}的模数)。格式(num1,num2,mod)) preparedList=[num1、num2、add、sub、multi、div、mod] loc=('output/math.xlsx') wb=xlrd.open_工作簿(loc) 工作表=工作表。工作表按索引(0) itemList=[] 对于范围内的i(图纸编号): itemList.append(表.行\值(i)) itemList.append(preparedList) 工作簿=xlsxwriter.工作簿(loc) 工作表=工作簿。添加工作表() 行=0 对于itemList中的项目: col=0 对于项目中的val: 工作表。写入(行、列、值) col=col+1 行=行+1 工作簿.关闭() 它正确地显示了下面的输出,但我需要将输出存储在Excel表格中

pse:\bala\docker-python-app>docker-run-it-python-app
请输入第一个数值1:45
请输入第二个数值2:5
45.0和5.0之和=50.0
从45.0减去5.0=40.0
45.0和5.0的乘积=225.0
45.0和5.0的除法=9.0
45.0和5.0的模量=0.0

尝试使用如下命令运行映像:

docker run -it image
图像将在与终端的交互模式下启动

更多有用的信息可通过以下链接找到:


尝试使用如下命令运行映像:

docker run -it image
图像将在与终端的交互模式下启动

更多有用的信息可通过以下链接找到:


对于交互模式,您需要提到
-it
。在交互模式下启动容器(
因此-it标志
),允许您与容器的
/bin/bash
/bin/ash
交互

FROM python:3.7.4-alpine3.10
    RUN echo $'#!/usr/bin/python \n\
    num1 = float(input(\" Please Enter the First Value Number 1: \")) \n\
    num2 = float(input(\" Please Enter the Second Value Number 2: \")) \n\
    # Add Two Numbers \n\
    add = num1 + num2 \n\
    sub = num1 - num2 \n\
    multi = num1 * num2 \n\
    # Divide num1 by num2 \n\
    div = num1 / num2 \n\
    # Modulus of num1 and num2 \n\
    mod = num1 % num2 \n\
    # Exponent of num1 and num2 \n\
    expo = num1 ** num2 \n\
    print(\"The Sum of {0} and {1} = {2}\".format(num1, num2, add)) ' >> /root/ab.py

    CMD [ "python" , "/root/ab.py"]
现在构建图像

docker build -t pyinput .
运行容器

docker run --rm -it pyinput

更新:

docker运行命令

docker run --rm -it -v $PWD/output:/output pyinput ash -c "python /root/ab.py"
装载目录,以便在主机上看到输出。 这是一个完整的例子,我只是增加了一个价值,为自己做休息

FROM python:3.7.4-alpine3.10
RUN  mkdir -p /output
RUN touch /output/maths.xlsx
RUN  pip install xlsxwriter xlrd
RUN pip install xlwt
RUN echo $'#!/usr/bin/python \n\
import xlsxwriter \n\
import xlrd \n\
import xlwt \n\
from xlwt import Workbook \n\
num1 = float(input(\" Please Enter the First Value Number 1: \")) \n\
num2 = float(input(\" Please Enter the Second Value Number 2: \")) \n\
# Add Two Numbers \n\
add = num1 + num2 \n\
sub = num1 - num2 \n\
multi = num1 * num2 \n\
# Divide num1 by num2 \n\
div = num1 / num2 \n\
# Modulus of num1 and num2 \n\
mod = num1 % num2 \n\
# Exponent of num1 and num2 \n\
expo = num1 ** num2 \n\
print(\"The Sum of {0} and {1} = {2}\".format(num1, num2, add)) \n\
preparedList = [num1,num2,add,sub,multi,div,mod] \n\
wb = Workbook() \n\  
sheet1 = wb.add_sheet(\'Sheet 1\') \n\
sheet1.write(1, 0, \'Add\') \n\
sheet1.write(0, 1, \'Add\') \n\
sheet1.write(1, 1, add) \n\
wb.save(\'/output/xlwt example.xls\') \n\
print ( \"Entries saved to /output/xlwt example.xls\")' >> /root/ab.py
CMD [ "python" , "/root/ab.py"]


对于交互模式,您需要提到
-it
。在交互模式下启动容器(
因此-it标志
),允许您与容器的
/bin/bash
/bin/ash
交互

FROM python:3.7.4-alpine3.10
    RUN echo $'#!/usr/bin/python \n\
    num1 = float(input(\" Please Enter the First Value Number 1: \")) \n\
    num2 = float(input(\" Please Enter the Second Value Number 2: \")) \n\
    # Add Two Numbers \n\
    add = num1 + num2 \n\
    sub = num1 - num2 \n\
    multi = num1 * num2 \n\
    # Divide num1 by num2 \n\
    div = num1 / num2 \n\
    # Modulus of num1 and num2 \n\
    mod = num1 % num2 \n\
    # Exponent of num1 and num2 \n\
    expo = num1 ** num2 \n\
    print(\"The Sum of {0} and {1} = {2}\".format(num1, num2, add)) ' >> /root/ab.py

    CMD [ "python" , "/root/ab.py"]
现在构建图像

docker build -t pyinput .
运行容器

docker run --rm -it pyinput

更新:

docker运行命令

docker run --rm -it -v $PWD/output:/output pyinput ash -c "python /root/ab.py"
装载目录,以便在主机上看到输出。 这是一个完整的例子,我只是增加了一个价值,为自己做休息

FROM python:3.7.4-alpine3.10
RUN  mkdir -p /output
RUN touch /output/maths.xlsx
RUN  pip install xlsxwriter xlrd
RUN pip install xlwt
RUN echo $'#!/usr/bin/python \n\
import xlsxwriter \n\
import xlrd \n\
import xlwt \n\
from xlwt import Workbook \n\
num1 = float(input(\" Please Enter the First Value Number 1: \")) \n\
num2 = float(input(\" Please Enter the Second Value Number 2: \")) \n\
# Add Two Numbers \n\
add = num1 + num2 \n\
sub = num1 - num2 \n\
multi = num1 * num2 \n\
# Divide num1 by num2 \n\
div = num1 / num2 \n\
# Modulus of num1 and num2 \n\
mod = num1 % num2 \n\
# Exponent of num1 and num2 \n\
expo = num1 ** num2 \n\
print(\"The Sum of {0} and {1} = {2}\".format(num1, num2, add)) \n\
preparedList = [num1,num2,add,sub,multi,div,mod] \n\
wb = Workbook() \n\  
sheet1 = wb.add_sheet(\'Sheet 1\') \n\
sheet1.write(1, 0, \'Add\') \n\
sheet1.write(0, 1, \'Add\') \n\
sheet1.write(1, 1, add) \n\
wb.save(\'/output/xlwt example.xls\') \n\
print ( \"Entries saved to /output/xlwt example.xls\")' >> /root/ab.py
CMD [ "python" , "/root/ab.py"]


亲爱的@aravindit,你能检查一下它对你的作用是否良好吗。但我需要存储输出excel。我正确地提到了excel工作表路径,但无法存储。请提供您的建议@ADIICHECK更新答案您可以检查一下它与您的合作情况吗亲爱的@aravindit工作正常。但我需要存储输出excel。我正确地提到了excel工作表路径,但无法存储。请提供您的建议@adiiCheck更新答案如果有任何问题,请告诉我。我将无法在excel中显示输出。但是在运行docker@adiiii时没有错误您正在使用的操作系统我正在使用windows 10它将运行,生成exel文件,然后退出告诉我是否存在任何问题。我将无法在excel中显示输出。但运行docker@adIII时没有错误。您正在使用的操作系统我正在使用windows 10它将运行,生成exel文件,然后退出