listar arquivos de uma pasta [RESOLVIDO]

1. listar arquivos de uma pasta [RESOLVIDO]

Carlos Fagiani Junior
terabytes

(usa Slackware)

Enviado em 28/08/2009 - 13:21h

To usando PyGtk...

Ola galera... Eu to querendo saber como que eu listo os arquivos de uma pasta, na verdade eu quero saber quantos arquivos eu tenho na pasta.

Eu estava tentando com esse código, mas ele lê a endereço como se fosse texto.

for i in "/home/user/.agenda/":
print i

isso me retorna cada caractere no console um em cada linha...
Se eu lançar em uma caixa de texto, ele retorna o último caractere que no caso é a "/"

for i in "/home/user/.agenda/":
txt.set_text(i)


Se eu tenho 10 arquivos na pasta eu queria que ele retornasse o numero 10.

Alguem tem uma idéia?


  


2. MELHOR RESPOSTA

Phillipe Smith
Smithux

(usa Arch Linux)

Enviado em 28/08/2009 - 13:48h

Aê meu velho.
Faça assim:



import os

os.system("ls $HOME | wc -l")

3. Re: listar arquivos de uma pasta [RESOLVIDO]

Filippe
spolti

(usa Fedora)

Enviado em 28/08/2009 - 13:52h

tá aí o que tanto deseja brother. :-

ls /etc/ > temp | cat -n temp | tail -1 | cut -f1


4. Re: listar arquivos de uma pasta [RESOLVIDO]

Carlos Fagiani Junior
terabytes

(usa Slackware)

Enviado em 30/08/2009 - 01:37h

os.system("ls $HOME | wc -l")

certo... só que esse comando retorna a saida no terminal, e eu queria que retornasse na textbox...

ja tentei usar assim mas não vai:
reg.set_text(str(os.system("ls /home/user/.agenda/ | wc -l")))
ele retorna assim no terminal:

$ 7

e na textbox fica zero "0"

e assim:
print str(os.system("ls /home/user/.agenda/ | wc -l"))
ele retorna:
$ 7
$ 0

:/


5. Re: listar arquivos de uma pasta [RESOLVIDO]

Phillipe Smith
Smithux

(usa Arch Linux)

Enviado em 30/08/2009 - 03:52h

Tenta assim então:

print str(os.system("ls /home/user/.agenda/ | wc -l")).strip('0')


6. Re: listar arquivos de uma pasta [RESOLVIDO]

Carlos Fagiani Junior
terabytes

(usa Slackware)

Enviado em 30/08/2009 - 15:16h

eu já conheço o strip() ele funciona para remover o 0 que ele lança depois do numero de arquivos...
Mas a saida continua sento no terminal, e eu estou querendo que ele saia em uma gtk.Entry() em uma janela.

com isso:
print str(os.system("ls /home/user/.agenda/ | wc -l")).strip('0')

ele retorna no terminal o numero de arquivos e cancela o "0" (que nem sei o pq aparece)...

Mesmo fazendo assim:
reg = gtk.Entry()
reg.set_text(str(os.system("ls /home/user/.agenda/ | wc -l")).strip('0'))

a saída continua sendo no terminal e não na gtk.Entry() que fica vazia..


7. Re: listar arquivos de uma pasta [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 30/08/2009 - 16:16h

Tente usar

var = os.system("find . -type f | wc -l")

Para apenas listar os arquivos use

var = os.system("ls")


8. Re: listar arquivos de uma pasta [RESOLVIDO]

Carlos Fagiani Junior
terabytes

(usa Slackware)

Enviado em 30/08/2009 - 16:55h

Deu na mesma do comando do Smithux ele retorna a quantidade dos arquivos e depois um '0', usando o strip('0') ele não coloca nada no Entry() com o strip('\n') também fica vazio, mas a quantidade de arquivos sempre sai no terminal e não na Entry()...

var = os.system("find . -type f | wc -l")
reg.set_text(str(var).strip('0'))

umpft... pior que não encontro nada na net sobre isso....


9. Re: listar arquivos de uma pasta [RESOLVIDO]

Carlos Fagiani Junior
terabytes

(usa Slackware)

Enviado em 30/08/2009 - 17:50h

Putz que zuera... fiz uma gambiara aqui: presta atenção....

os.system("ls /home/user/.agenda/contatos/ | wc -l > /home/user/.agenda/num")
ler_txt = open('/home/user/.agenda/num', "r")
reg.set_text(ler_txt.readline().strip('\n'))
ler_txt.close()


ele salva no arquivo dai depois lê o arquivo e joga na Entry()

Por enquanto vai ficar assim até eu arrumar outra solução...

vlw a todos pelas dicas


10. Re: listar arquivos de uma pasta [RESOLVIDO]

Carlos Fagiani Junior
terabytes

(usa Slackware)

Enviado em 01/09/2009 - 02:04h

ae montei aqui um jeito mais fácil e ainda por cima multi-plataforma

import os #Importo o modulo "os"
arquivos = os.listdir(os.path.expanduser('~/')) #Listo todos os arquivos da pasta "~/" na variável "arquivos"
num = len(arquivos) #Coloco o quantidade de arquivos em "num"

.....
Nossa foi difícil achar algo sobre isso... mas fuçando agente encontra...
Dá forma que vocês estavam dizendo ficaria funcional somente no linux além de ser muita gambiarra usar o shell script no python

Me garanti agora em ... pode dizer vai :D






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts