假设我在名为directory1的目录中创建了一个名为file.py的文件。运行file.py时,有没有办法让file.py将它自己的脚本保存到另一个目录,比如diretory2,作为.txt文件或.py文件?
谢谢!
答案 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"
您可以将代码(甚至是其包含的文件的相同代码)保存到新文件名中。 你必须正确地改变文件名,切断扩展名并连接新的字符串。 -