Csv spuckte eine Liste mit Dateinamen, zuletzt geänderten Daten und Zeichencodes in Python3 aus

anaconda3 installiert Informationen zu Anaconda finden Sie unter Anaconda auf Mac installieren.

Installieren Sie chardet, um den Zeichencode zu bestimmen

zsh


$ anaconda search -t conda chardet #Finde einen Chardet in Anaconda
Using Anaconda API: https://api.anaconda.org
Run 'anaconda show <USER/PACKAGE>' to get more details:
Packages:
     Name                      |  Version | Package Types   | Platforms
     ------------------------- |   ------ | --------------- | ---------------
     anaconda/chardet          |    3.0.4 | conda           | linux-ppc64le, linux-64, win-32, osx-64, linux-32, win-64
...

$ anaconda show anaconda/chardet #Wählen Sie aus dem gesuchten Chardet das gewünschte aus und finden Sie heraus, wie Sie es installieren können
Using Anaconda API: https://api.anaconda.org
Name:    chardet
Summary:
Access:  public
Package Types:  conda
Versions:
   + 2.3.0
   + 3.0.2
   + 3.0.3
   + 3.0.4

To install this package with conda run:
     conda install --channel https://conda.anaconda.org/anaconda chardet

$ conda install --channel https://conda.anaconda.org/anaconda chardet #Kopieren Sie den Installationsbefehl, der nach der Überprüfung ausgegeben wurde, und fügen Sie ihn ein
Fetching package metadata .........
Solving package specifications: ..........

Package plan for installation in environment /Users/berry/.pyenv/versions/anaconda3-4.2.0:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    conda-env-2.6.0            |                0          601 B  anaconda
    chardet-3.0.4              |           py35_0         188 KB  anaconda
    requests-2.14.2            |           py35_0         725 KB  anaconda
    pyopenssl-16.2.0           |           py35_0          70 KB  anaconda
    conda-4.3.22               |           py35_0         516 KB  anaconda
    ------------------------------------------------------------
                                           Total:         1.5 MB

The following NEW packages will be INSTALLED:

    chardet:   3.0.4-py35_0  anaconda
    conda-env: 2.6.0-0       anaconda

The following packages will be UPDATED:

    conda:     4.2.9-py35_0           --> 4.3.22-py35_0 anaconda
    pyopenssl: 16.0.0-py35_0          --> 16.2.0-py35_0 anaconda
    requests:  2.11.1-py35_0          --> 2.14.2-py35_0 anaconda

Proceed ([y]/n)? y

Fetching packages ...
conda-env-2.6. 100% |############################################################################| Time: 0:00:00 304.59 kB/s
chardet-3.0.4- 100% |############################################################################| Time: 0:00:02  83.22 kB/s
requests-2.14. 100% |############################################################################| Time: 0:00:52  14.02 kB/s
pyopenssl-16.2 100% |############################################################################| Time: 0:00:02  25.32 kB/s
conda-4.3.22-p 100% |############################################################################| Time: 0:00:18  28.66 kB/s
Extracting packages ...
[      COMPLETE      ]|###############################################################################################| 100%
Unlinking packages ...
[      COMPLETE      ]|###############################################################################################| 100%
Linking packages ...
[      COMPLETE      ]|###############################################################################################| 100%

$ 

Exportieren Sie den Dateinamen, das Änderungsdatum und die Änderungszeit sowie den Zeichencode nach csv

--Exportieren Sie die Liste der Dateien unter `. / File / '` nach csv

python3


# support python3

import os
import datetime
import csv
from chardet.universaldetector import UniversalDetector

_path = './file/'

# get encode of a file
def univ_detect(file_dir):
    ud = UniversalDetector()
    with open(file_dir, 'rb') as fd:
        for b in fd:
            ud.feed(b)
            if ud.done:
                break
    ud.close()
    return ud.result['encoding']

# get a file name, path and last-modified timestamp
all_files = []
def get_file_list(file_path):
    # all_files = []
    file_list = [f for f in os.listdir(file_path)]
    for g in file_list:
        g_path = os.path.join(file_path, g)

        # last modified time        
        last_modified = os.path.getmtime(g_path)
        dt = datetime.datetime.fromtimestamp(last_modified).strftime('%Y%m%d_%H:%M:%S')

        # chardet
        encode = 'Directory'
        if os.path.isdir(g_path):
            pass
        else:
            encode = univ_detect(g_path)

        all_files.append([dt, g_path.split(_path,1)[1], ' '.join(['~',encode,'~'])])

        # subdirectory
        if os.path.isdir(g_path):
            subfile_list = [i for i in os.listdir(g_path)]
            for j in subfile_list:
                j_path = os.path.join(g_path, j)

                # last modified time
                sub_last_modified = os.path.getmtime(j_path)
                sub_dt = datetime.datetime.fromtimestamp(sub_last_modified).strftime('%Y%m%d_%H:%M:%S')

                # chardet
                encode = 'Directory'
                if os.path.isdir(j_path):
                    pass
                else:
                    encode = univ_detect(j_path)

                all_files.append([sub_dt, j_path.split(_path,1)[1], ' '.join(['~',encode,'~'])])
    return file_list
    # return all_files

print(get_file_list(_path))

csv_file = [['Last_modified', 'file_path', 'encode']] # Header
csv_file.extend(all_files)
with open('file_checker.csv', 'w') as h:
    writer = csv.writer(h, lineterminator='\n')
    writer.writerows(csv_file)

Recommended Posts

Csv spuckte eine Liste mit Dateinamen, zuletzt geänderten Daten und Zeichencodes in Python3 aus
Zeigen Sie eine Liste der Alphabete in Python 3 an
[Python] Ruft den Zeichencode der Datei ab
Kopieren Sie die Liste in Python
[Python] [chardet] Automatische Erkennung von Zeichencode in Dateien
Links und Memos von Python-Zeichencodezeichenfolgen
Liste des zu verschiebenden und zu merkenden Python-Codes
Konvertieren Sie den Zeichencode der Datei mit Python3
Verschiedene Möglichkeiten, die letzte Zeile einer CSV-Datei in Python zu lesen
[Python] Erstellen Sie eine Liste mit Datum und Uhrzeit (Datum / Uhrzeit-Typ) für einen bestimmten Zeitraum
Liste der wichtigsten Wahrscheinlichkeitsverteilungen, die beim maschinellen Lernen und in der Statistik verwendet werden, sowie Code in Python
Eine Code-Sammlung, die häufig in persönlichem Python verwendet wird
Liste des Python-Codes, der bei der Big-Data-Analyse verwendet wird
Gruppieren Sie nach aufeinanderfolgenden Elementen einer Liste in Python
Beispiel für das Abrufen des Modulnamens und des Klassennamens in Python
Zusammenfassung der Datumsverarbeitung in Python (Datum / Uhrzeit und Datum)
[Python] So erstellen Sie eine Liste von Zeichenfolgen Zeichen für Zeichen
[Python] Erstellen Sie eine Datums- und Zeitliste für einen bestimmten Zeitraum
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
[Python] So löschen Sie eine Zeile / Spalte in einer Tabelle (Liste der Optionen für die Drop-Methode)
[Hinweis] Import von Dateien in das übergeordnete Verzeichnis in Python
2.x, 3.x Serienzeichencode von Python
Entschlüsseln Sie eine Codezeile in Python Lambda, Karte, Liste
Erstellen Sie den Code, der in Python "A und vorgeben B" ausgibt
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Analysieren Sie die Researchmap-API mit Python und erstellen Sie automatisch eine Word-Datei für die Leistungsliste
Python: Erstellen Sie ein Wörterbuch aus einer Liste von Schlüsseln und Werten
Google sucht mit Python nach der Zeichenfolge in der letzten Zeile der Datei
In Python gelernter Zeichencode
Ein Befehl zum Auflisten aller Dateien in der Reihenfolge des Dateinamens
Es ist überraschend mühsam, eine Liste mit dem Datum und der Uhrzeit der letzten Anmeldung von Arbeitsbereichen abzurufen
Zeichencodeverarbeitung verglichen mit "An eine Wunde anhängen" ~ Verstümmelte Dateinamenoperation mit Python3 ~
Setzen Sie das Datum der letzten Änderung der untergeordneten Datei auf das Änderungsdatum des übergeordneten Verzeichnisses
Versuchen Sie, die Thread-Liste der Nachrichten (Abneigung) mit Python zu erhalten.
Löschen Sie ein bestimmtes Zeichen in Python, wenn es das letzte ist
Python vba zum Erstellen einer Datumszeichenfolge zum Erstellen eines Dateinamens
Liste der in Python verfügbaren Löser und Modellierer für lineares Design (LP)
Durchsuchen Sie das Verzeichnis und erstellen Sie eine Liste mit Verzeichnispfaden und Dateinamen
Ruft eine Liste der Dateien in einem Ordner mit Python ohne Pfad ab
Holen Sie sich den Titel und das Lieferdatum von Yahoo! News in Python
Unterschied zwischen list () und [] in Python
[Python] Verwalten Sie Funktionen in einer Liste
Erstellen Sie eine Binärdatei in Python
Schreiben Sie eine C-Sprach-Linkliste in einem objektorientierten Stil (mit Codevergleich zwischen Python und Java).
Ersetzen Sie den Verzeichnisnamen und den Dateinamen im Verzeichnis zusammen mit einem Linux-Befehl.
Rufen Sie mit Python eine Liste der in der aktuellen Umgebung installierten Pakete ab
[Python] So fügen Sie eine beliebige Anzahl von Standardeingaben in die Liste ein
[Python] Zusammenfassung der Konvertierung zwischen Zeichenfolgen und numerischen Werten (ASCII-Code)
Python CSV-Datei Zeichencodekonvertierung, Extraktion von Dateinamen, Lesen, Ausgeben, Zusammenführen
Python> Code kopieren und einfügen> SyntaxError: Nicht-ASCII-Zeichen '\ xe3' in Datei> - * - Codierung: utf-8 - * - Hinzufügen
Der Dateiname war in Python schlecht und ich war süchtig nach Import
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Öffnen Sie eine Excel-Datei in Python und färben Sie die Karte von Japan
Python> Datum der letzten Änderung der Datei abrufen> mddt = time.ctime (os.path.getmtime (Dateipfad))> Mon Mar 7 07:18:45 2016
So formatieren Sie eine Liste von Wörterbüchern (oder Instanzen) in Python
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Code lesen von faker, einer Bibliothek, die Testdaten in Python generiert
Codelesen von Safe, einer Bibliothek zur Überprüfung der Kennwortstärke in Python