• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

deathrunner

Ajuda num script simples (backup de ficheiros/pastas)

4 mensagens neste tópico

Boa noite!

Sou um aluno de Informática, mas quando entrei no curso não tinha bases (só sabia programar em Low Level (Assembly))..

Entretanto comecei por tentar aprender linguagens de alto nível (apesar de ja ter tido contacto com html e actionscript antes).

Eis então que surge-me a ideia de aprender VBasic, visto no meu ponto de vista, poder dar umas luzes a nivel de programacao e logica.. e assim foi. Fiz uma aplicacao que permitia adicionar entradas numa bases dados (acess) e consultar a respectiva base de dados, bem como alterar. Tinha mais umas opcoes (funcoes buitin do vb) mas basicamente era isso.

Comecei a notar que era uma linguagem para "putos" e com muito pouco codigo e tao simples que era que as vezes tornava-se complexo fazer certas coisas..

Foi aí que deixei o vb (1 mes de aprendizagem)

Pesquisei no Google e encontrei o "PYTHON". Para mim acaba por ser uma linguagem das mais poderosas, comparada com outras, visto a sua portabilidade (no meu ponto de vista).

Comecei entao a ler um livro.. ' Byte of Python', que muitos de voces devem conhecer (penso eu)..

Surgiu-me uma "GRANDE" duvida, e não quero, nem consigo avançar mais sem resolver esta "GRANDE" duvida, que para voces deve ser uma coisa risoria..

Segue-se a duvida:

Isto é um programa simples que faz "backup" dos ficheiros de uma determinada pasta para outra, comprimindo-os num rar ou zip.

Plataforma: WINDOWS32

Editor em uso: IDLE (Python)

---------------------------------------------------------------------------

import os

import time

# os ficheiros e pastas a serem copiados estao:

source = [r'E:\ficheiros', r'C:\docs' ] # a unidade de disco tera que ser em CAPS

target_dir = 'E:\backup' # pasta de destino

target = target_dir + time.strftime('%Y%m%d%H%M%S') + '.rar' # nome do ficheiro destino

compressao = "rar a -r source" % (target, ' '.join(source))  # ????????????????????????

# EXECUCAO DO BACKUP

if os.system (compressao) == 0:

    print 'O Backup foi efectuado com sucesso para:', target

else:

    print 'O Backup falhou! Erro 001'

---------------------------------------------------------------------------

PROBLEMA: Linha 6

Em Linux, se colocarmos assim funciona correctamente:

compressao = "zip -qr '%s' %s" % (target, ' '.join(source))

Pedia-vos agora se alguém conseguisse resolver o meu problema da compressão em windows com o winrar, agradecia imenso, e assim podia continuar a minha caminhada pela programacao em Python.

*Estou consciente que irei dar "Java" que não tenho bases nenhumas nem sei nada disso.. mas penso que esta experiência com o Python será uma boa ajuda para ter boas bases em programação.

Obrigado a todos os que tiveram paciência para ler este pequeno texto.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tem mesmo de ser em RAR? Anyway, tu deverias ter era:

compressao = "rar a -r %s %s" % (target, ' '.join(source))

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tem que ser em RAR.. eu é que só tinha o winrar instalado na máquina (compressores) e para nao ter ke instalar mais nada aproveitei..

De qualquer forma essa sugestao que deste nao funciona.

;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora