enter code here
我正在将Eclipse与PyDev结合使用并尝试使用简单的脚本:
编辑代码:
import time
import os
import json
import tarfile
source_config='/Users/brendanryan/scripting/brendan.json'
backup_dir = '/myapp/target/'
def main():
with open(source_config) as f:
data = json.load(f)
for entry in data["source_include"]:
#base_filename = os.path.basename(entry)
#source_dirs = [ name for name in os.listdir(entry) if os.path.isdir(os.path.join(entry, name)) ]
full_dir = os.path.join(entry)
tar = tarfile.open(os.path.join(backup_dir, '.tar.gzip'), 'w:gz')
tar.add(full_dir)
tar.close()
if __name__ == '__main__':
main()
JSON:
{
"source_type": "folder",
"tar_type": "gzip",
"tar_max_age": "10",
"source_include": ["/myapp/conf", "/myapp/db"],
"target_path": "/myapp/target"
}
这是支持工作。但它没有。当代码被破坏时,我有各种各样的Tracebacks可以使用...而且我的意思是全部。现在,我只是得到“”......没有错误,没有输出,没有结果.tar.gz,当我运行时没有任何东西。 我愿意尝试任何事情让它立即发挥作用......
对于初学者来说,这应该是读取json(它们是变量)并使用它来选择源文件夹,然后tar.gz它们并将生成的档案放在另一个文件夹中。我不知道该怎么做,但实际上只需要获取“source_include”中的所有文件夹,tar.gz并用当前日期命名它会很棒。那太棒了!
编辑:添加主()...感谢! 因此,通过编辑,现在回溯:
再次编辑:现在,没有追溯。再次。没有输出......
粗言秽语已经消失(Eclipse说现在代码很酷)......但没有输出。 Al all,就像没有reslutant档案一样。回到原点。
答案 0 :(得分:4)
您实际上似乎根本没有调用main
功能。要调用函数,您需要使用括号:main()
。
(如果你要做的就是打印无用的预制信息,你不应该抓住异常。最好让异常传播,这样你就可以看到实际上出了什么问题。 )
答案 1 :(得分:0)
ValueError: Expecting , delimiter: line 6 column 2 (char 120
告诉我你的JSON文件中有错误。
JSON:
{
"source_type": "folder",
"tar_type": "gzip",
"tar_max_age": "10",
"source_include": ["/myapp/conf", "/myapp/db"], !!!COMMA GOES HERE
"target_path": "/myapp/target"
}