Ir ao conteúdo
  • Cadastre-se

Python Um código que deleta um arquivo apenas


Posts recomendados

import os
file_path = "letra\\caminho\\teste.txt" #use caminhos relativos se der.
os.remove(file_plath) if os.path.exists(file_path) else print("O arquivo não existe")

# o método acima funciona, o python interpreta como operador ternário, use-o quando há apenas uma condição e 2 ações.

 

Link para o comentário
Compartilhar em outros sites

ok vamos lá...

Arquivo na área de trabalho.

5SP0Zvx.png

 

Se você apertar windows + r e digitar desktop, você é levado ao desktop(area de trabalho) do usuário logado.

O que significa que o comando desktop é um atalho para c:\users\%userprofile%\desktop
Para expandir um atalho em python, usando o modulo os, pode usar 2 formas.
os.path.expanduser() #esse você usa para atalhos na pasta do usuário
os.path.expandvars() #esse você usa para qualquer atalho.

FUMMyPZ.png

 

agora usando método os.path.join() para juntar o caminho do desktop com o nome do arquivo, temos o caminho do seu arquivo:
3YV8tFr.png

 

agora é só fazer do jeito que eu falei antes, atribuindo esse caminho em uma variável e comparando.
Kvxj484.png

 

apagado.

iZUQZsk.png

Link para o comentário
Compartilhar em outros sites

@rieidi_gamer é só copiar rapaz, preguiça?
se você quer deletar tudo dentro de uma pasta há várias formas de fazer.

por exemplo, os.listdir("caminho") cria uma lista com todos os nomes em uma pasta

ai você pode usar um laço for para apagar tudo.

for nome in lista:

os.remove(os.path.join("caminho",nome))

 

Se o que você quer fazer é um programa que delete arquivos temporarios, tem centenas de milhares desses feitos em todo tipo de linguagem aqui no forum, a maioria faz em batch, visto ser algo simples.

 

perceba também que %temp%,temp,recent,prefetch,etc.. são atalhos, ou seja, você pode usar expandvars.

 

ps: todos sabem que alguns arquivos nessa pastas não podem ser apagados, o que vai levantar erro, você vai ter que usar try except.

 

 

Link para o comentário
Compartilhar em outros sites

@Swalls e domingo eu queria estar na rede ψ(._. )> mais fui operado então se eu cair f no chat hospital direto.

 

fazer batch e fácil del /q /s %temp% e muito simples  

@Swalls eu devo ter rescrevido errado alguma coisa por que deu erro 

image.thumb.png.93c0600879f648a5e6c13e1b07fbf9c0.png 

import os
os.path.join(os.path.expanduser("~\desktop"),"teste.txt") 
teste.txt = "C:\Users\Windows\Desktop\teste.txt" 
os.remove(teste.txt) if os.path.exists(teste.txt) else print("O arquivo não existe")

Link para o comentário
Compartilhar em outros sites

@rieidi_gamer

você está cometendo erros na linguagem

faça um curso de python. Recomendo o da cisco, é de graça e vai até o avançado.

seu código corrigido:

import os
teste = os.path.join(os.path.expanduser("~\desktop"),"teste.txt") 
os.remove(teste) if os.path.exists(teste) else print("O arquivo não existe")

 

 

é domingo*

mais(com i) só se usa para soma, use mas. caso não tenha entendido troque por "porém", se funcionar é mas

 

Link para o comentário
Compartilhar em outros sites

  • mês depois...

Deixa eu ver se entendi:

 

Você quer um script que receba um caminho como argumento e apague o arquivo?

 

Se for, é fácil:

 

(_os := __import__("os")) and (_sys := __import__('sys')) and (filename := _sys.argv.pop(-1)) and (exit(1) if filename == _os.path.basename(__file__) else "") or (_os.remove(filename) if _os.path.isfile(filename) else print("Arquivo não existe"))

 

Resultado:

 

❯ echo "test" > /tmp/test
❯ cat /tmp/test
test
❯ python test.py /tmp/test
❯ cat /tmp/test
cat: /tmp/test: Arquivo ou diretório inexistente

 

Codigo legivel:
 

import os
import sys

filename = sys.argv.pop(-1)
if filename == os.path.basename(__file__):
    exit(1)
if os.path.isfile(filename):
    os.remove(filename)
else:
    print("Arquivo não existe")

 

voce consegue expandir isso pra qualquer pasta ou arquivo.

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Kamuri 

from pathlib import Path

import shutil

import getpass

 

dir_path = Path('C:/Users/' + str(getpass.getuser()) + '/AppData/Local/Temp')

 

for file_path in dir_path.iterdir():

    try:

        if file_path.is_dir():

            shutil.rmtree(file_path)

        else:

            file_path.unlink()

    except OSError:

        print(f"Error deleting {file_path}")

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!