【问题标题】:make file by socket.makefile on a selected directory, not current script directory通过 socket.makefile 在选定目录上制作文件,而不是当前脚本目录
【发布时间】:2016-06-04 15:05:45
【问题描述】:

我的代码中的部分是:

    def upload_action(client):
    """
     uploads the requested file by socket to server

     receives: socket - client socket
     returns: nothing
    """
       file, filename = get_file_and_filename(client.makefile('r'))
       write_to_file(file, filename)

我想制作文件并将其保存在选定的目录中,而不是当前脚本目录中。有可能吗?

例如,我想在 c:\heights\files 上制作文件。 我希望该文件由该目录中的 client.makefile('r') 创建。 如何?

【问题讨论】:

  • 什么目录?我没有看到对目录的任何引用。
  • 现在添加了一个示例路径
  • 如果我的回答回答了你的问题,请采纳。

标签: python file sockets makefile directory


【解决方案1】:

默认情况下,工作目录是运行脚本的位置。
所有相对路径都是相对于工作目录的。
文件名只是指向该工作目录中文件的相对路径。

如果您需要将文件写入任意目录,则需要提供文件名的绝对路径。

write_to_file("c:\\heights\\files\\"+file, filename)

如果您只使用该目录中的文件,您可以通过以下方式将工作目录更改为该目录:

import os
os.chdir("c:\\heights\\files")

并按原样使用您的脚本。

【讨论】: