enter code here
Im помощью Eclipse, с PyDev и пытается получить простую работу скрипта:Python Traceback: нет ошибок, но не выход из сценария
Edited Код:
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 и называть его текущей датой. Это было бы круто!
Редактировать: Добавлено main() ... СПАСИБО! Итак, с редактированием, отслеживание теперь:
Редактировать СНОВА: И ТЕПЕРЬ, НИКАКИЕ СЛЕДЫ. Еще раз. Нет выхода ...
Язык нецензурной брали (Eclipse говорит, что код сейчас классный) ... но без вывода. Все, как ни в одном резутантном архиве. В исходную точку.
Показать следы. При выполнении сценария должен быть только один. Это * неоценимая * информация. –
вы должны использовать 'json.load (f)' вместо 'json.loads (f)' (без 's'). [doc] (http://docs.python.org/2/library/json.html#json.load) – sheh
Исправлены очевидные ошибки, такие как main() в соответствии с Mr Roseman, а также tar.add (tar), который должен быть tar.add (full_dir). Добавлена новая трассировка. Эта отладка убивает меня! – Brendan