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

newbeen

Formatar de discos

1 mensagem neste tópico

Tou a postar aqui este pequeno script porque preciso de uma ajuda, alguém me pode testar isto em um windows versão inglesa e dizer se o output do format sai correcto??


# -*- coding: cp1252 -*-
import os, win32api, string

class DFunctions:
    """Funçoes de disco, formata e obtém a quantidade de discos"""
        
    def format(self,x):
        print "A formatar por favor aguarde...\n"
        teste=os.popen("format %s /FS:FAT32 /V:UBUNTEX /Q /X"%x, 'r')
        teste=teste.readlines()
        if len(teste)>3:
            try:
                for i in range(0, len(teste), 1):
                    teste.remove('\n')
            except:
                print "Formatação concluida!"
                for i in range(6, len(teste), 1):
                    print teste[i].decode('cp850')
                self.resp=string.lower(raw_input('Deseja formatar outro disco?(S/N):'))
                print self.resp
                if self.resp!='sim' and self.resp!='s' and self.resp !='y' and self.resp!='yes':
                    quit()
        else:
            print """Nao foi possível efectuar a formatação!\n
Por favor verifique se tem permissão,
e que escolheu correctamente o disco!\n"""

    def GetDisk(self):
        self.discos=win32api.GetLogicalDriveStrings()[:].split('\\\x00')
        self.discos.remove('')
        return self.discos


def escolhe():
    discos=DFunctions().GetDisk()

    while True:
        print "\n\nQue Disco Desaja Formatar?\n"
        for i in range(0, len(discos),1):print "%i --> %s"%(i,discos[i])
        print "%i --> Sair"%(len(discos))
        try:
            op=int(raw_input())
            if op>len(discos):print "Opção nao valida";
            elif op==len(discos): quit()
            else: DFunctions().format(discos[op]);
        except ValueError:print "Digite o numero correspondente há opção!"

escolhe()


dês de já obrigadão :thumbsup:

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