Файлы не удаляются при использовании модуля os

AHMAD спросил: 13 июня 2018 в 11:13 в: python

Я попытался создать программу, которая удалит все пустые файлы (размер которых равен нулю). Затем я запускаю программу, перетаскивая файл сценария в "командную строку" и запуская его.

Однако пустые файлы не были удалены (но у меня есть некоторые из них).

Пожалуйста, помогите мне найти ошибку в моем коде.

import os
a = os.listdir('C:\\Python27')
for folder in a :
  sizes = os.stat('C:\\Python27')
  b = sizes.st_size
  s = folder
  if b == 0 :
    remove('C:\\Python27\s')

2 ответа

Есть решение
blhsing ответил: 13 июня 2018 в 12:11

Вы назначаете значения, которые выполняет итератор os.listdir, возвращает folder, и все же вы не используете его вообще в os.stat или os.remove, но вместо этого вы передаете им фиксированные значения, которые вам не нужны.

Вы должны сделать что-то вроде этого:

import os
dir = 'C:\\Python27'
for file_name in os.listdir(dir):
    file_path = os.path.join(dir, file_name)
    if os.stat(file_path).st_size == 0:
        os.remove(file_path)
AHMAD ответил: 14 июня 2018 в 11:23
Большое спасибо .... Я забыл написать os перед удалением ..... Ваш код мне очень помогает в функции соединения .... Спасибо, брат
MichaelR ответил: 13 июня 2018 в 12:22

Вы можете удалить что-то вроде следующего кода, и вам нужно добавить некоторую обработку исключений. Я использовал имя тестовой папки, чтобы продемонстрировать.

import os
import sysdir = 'c:/temp/testfolder'for root, dirs, files in os.walk(dir):
    for file in files:
        fname = os.path.join(root, file)
        try:
            if os.path.getsize(fname) == 0:
                print("Removing file %s" %(fname))
                os.remove(fname)
        except:
            print("error: unable to remove 0 byte file")
            raise           
AHMAD ответил: 14 июня 2018 в 11:23
Большое спасибо

Дополнительное видео по вопросу: Файлы не удаляются при использовании модуля os

19.Python для Начинающих - Работа с Файлами

Python Tutorial: OS Module - Use Underlying Operating System Functionality

22.Python для Начинающих - Аргументы коммандной строки