🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
4 messages
4 total messages Started by MrKakis Thu, 04 Jun 2009 07:41
zipfile polskie znaczki w nazwach plików i folderów
#26178
Author: MrKakis
Date: Thu, 04 Jun 2009 07:41
31 lines
2083 bytes
Witam tak jak w temacie jak jak zrobić żeby w nazwach plików były
polskie znaki jak otwieram zawartość eksplorerem windowsa próbowałem
dodawać file.encode('utf-8') niestety nic to nie daje, w tej wersji
pythona zipfile ma już patcha  unicode zamieszczam kawałek kodu

Python 2.6.1
testowanie na systemie: Windows XP/Vista

def toZip(self, file, filename):
        zip_file = zipfile.ZipFile(filename, 'w',allowZip64=True)
        if os.path.isfile(file):
            self.zip_file.write(file)
        else:
            self.addFolderToZip(zip_file, file)
        zip_file.close()

    def addFolderToZip(self, zip_file, folder):
        for file in os.listdir(folder):
                print file
                print folder
                full_path = os.path.join(folder, file)
                if os.path.isfile(full_path):
                        print 'plik Dodany: ' + str(full_path)
                        zip_file.write(full_path)
                        print full_path
                elif os.path.isdir(full_path):
                       # print 'Entering folder: ' + str(full_path)
                        self.addFolderToZip(zip_file, full_path)

pozdrawiam
MrKakis
Re: zipfile polskie znaczki w nazwach plików i folderów
#26179
Author: William Bonawentura
Date: Thu, 04 Jun 2009 11:06
4 lines
1148 bytes
os.listdir(path)

Changed in version 2.3: On Windows NT/2k/XP and Unix, if path is a Unicode 
object, the result will be a list of Unicode objects. 
Re: zipfile polskie znaczki w nazwach plików i folderów
#26180
Author: MrKakis
Date: Thu, 04 Jun 2009 13:50
14 lines
1587 bytes
William Bonawentura pisze:
> os.listdir(path)
> 
> Changed in version 2.3: On Windows NT/2k/XP and Unix, if path is a
> Unicode object, the result will be a list of Unicode objects.
no ok to rozumie, ale nadal nie rozumiem czemu brak mi polskich znaków.
Przy próbie konwersji na utf-8 unicode(full_path,'windows-1252') wywala
mi że nie może znaleźć ścieżki os.path nierozumie utf-8.Scieżke pobieram
po przez ConfigParser z pliku tekstowego. Więc w jaki sposób mam
przekazać zipfile że to utf-8 bo rozumiem ze moge zapisać tylko jako
ascii lub utf-8.

pozdrawiam
MrKakis
Re: zipfile polskie znaczki w nazwach plików i folderów
#26181
Author: MAcks
Date: Thu, 04 Jun 2009 17:13
17 lines
1890 bytes
W dniu 04.06.2009 15:50, MrKakis pisze:

>> Changed in version 2.3: On Windows NT/2k/XP and Unix, if path is a
>> Unicode object, the result will be a list of Unicode objects.
> no ok to rozumie, ale nadal nie rozumiem czemu brak mi polskich znaków.
> Przy próbie konwersji na utf-8 unicode(full_path,'windows-1252') wywala
> mi że nie może znaleźć ścieżki os.path nierozumie utf-8.Scieżke pobieram
> po przez ConfigParser z pliku tekstowego. Więc w jaki sposób mam
> przekazać zipfile że to utf-8 bo rozumiem ze moge zapisać tylko jako
> ascii lub utf-8.

Chodziło Ci może o windows-1250?
BTW. unicode(...) nie generuje reprezentacji w UTF-8, tylko napis 
unikodowy, który możesz sobie później zakodować do UTF-8, ale nie ma to 
sensu, bo pythonowe funkcje pracujące na unikodzie tego nie oczekują.

M.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads