[英]Retrieving .csv file written by docker python program
我正在尝试访问我的dockerized python程序正在制作的.csv文件。
这是我的docker文件:
# Use an official Python runtime as a parent image FROM python:3.7 # Set the working directory to /app WORKDIR /BotCloud # Copy the current directory contents into the container at /app ADD . /BotCloud # Install any needed packages specified in requirements.txt RUN pip install --trusted-host pypi.python.org -r requirements.txt RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz && \\ tar -xvzf ta-lib-0.4.0-src.tar.gz && \\ cd ta-lib/ && \\ ./configure --prefix=/usr && \\ make && \\ make install RUN rm -R ta-lib ta-lib-0.4.0-src.tar.gz RUN pip install ta-lib # Run BotFinal.py when the container launches CMD ["python","-u", "BotLiveSnake.py"]
这是我的python文件BotSnakeLive.py中的代码片段
def write(string): with open('outfile.csv','w') as f: f.write(string) f.write("\\n") write(str("Starting Time: "+datetime.datetime.utcfromtimestamp(int(df.tail(1)['Open Time'])/10**3).strftime('%Y-%m-%d,%H:%M:%SUTC'))+",Trading:"+str(pairing)+",Starting Money:"+str(money)+",SLpercent:"+str(SLpercent)+",TPpercent,"+str(TPpercent))
在本地运行我的python程序,将在与我的python程序相同的文件夹中创建outfile.csv。 但是,对于docker,我不确定此文件的结束位置。 任何帮助,将不胜感激。
通常,对不以/
开头的文件路径的引用始终相对于当前工作目录进行解释。 除非您进行了某种更改( os.chdir
,一个运行cd
的入口点脚本, os.chdir
docker run -w
选项),它将是您在Dockerfile
声明的WORKDIR
。
因此:您的文件应位于容器的文件系统空间中的/BotCloud/outfile.csv
中 。
请注意,容器具有其自己的隔离文件系统空间,该空间在删除容器时会被破坏。 如果您的应用程序进行通信的主要方式是通过文件,则使用非Docker机制(例如Python虚拟环境)将您的应用程序与系统的其余部分隔离起来可能会容易得多。 您可以使用docker run -v
或docker cp
文件将主机目录安装到容器中。 (请特别注意docker run -v
,如果将数据写入与您的应用程序不在同一目录中的某个位置,将很有帮助。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.