脚本将.py保存到文件本身的另一个目录中

时间:2015-01-06 22:49:59

标签: python save

假设我在名为directory1的目录中创建了一个名为file.py的文件。运行file.py时,有没有办法让file.py将它自己的脚本保存到另一个目录,比如diretory2,作为.txt文件或.py文件?

谢谢!

1 个答案:

答案 0 :(得分:1)

通常,如果您使用编辑器编写代码,您可以将其保存到具有不同文件扩展名的另一个目录。 但是我想你想在另一个目标中获得备份吗?这取决于你的编辑,现在大多数都会这样做。

但是你确定你可以在你的文件中写下这样的东西,只是将它复制到你选择的目录:

import os, shutil

if not os.access(dirname, os.F_OK):
    os.mkdir(dirname, 0o700)

shutil.copy(fname, dirname)

这段代码的作用是,它首先创建一个目录,如果它不存在,则为其提供读取,写入和执行权限。然后复制fname的内容,其中包含文件本身的文件名,并将其复制到刚刚创建的目录中。

但是为什么要把你刚写的最近代码复制到另一个地方呢?

编辑:

为了跟踪你的工作,有更好的方法来做到这一点,例如版本控制系统,如darcs,subversion(aka svn)或gitorious(主要是基于web的)。它们使用不同的版本号保存您的工作,并且每次达到里程碑时都不必更改文件名。它们可以帮助您打开分支,稍后加入它们并在您选择获得早期版本时保持代码可执行。

使用:

fname = "work_today.txt"

您可以将代码(甚至是其包含的文件的相同代码)保存到新文件名中。 你必须正确地改变文件名,切断扩展名并连接新的字符串。 -