Ich möchte eine Datei mit Python zufällig testen

Dinge die zu tun sind

  1. Erstellen Sie 100 Dateien
  2. Rufen Sie den Dateipfad mit der angegebenen Erweiterung ab
  3. Wählen Sie zufällig 10 aus und kopieren Sie es in ein anderes Verzeichnis

Verzeichnisaufbau

.
├── input
│   └── _sampled
└── src
    └── random_sampling.py

Code

random_smpling.py


from pprint import pprint
import os
from pathlib import Path
import random
import shutil


class FileControler(object):
    def make_file(self, output_dir, file_name, content='') -> None:
        """Dateierstellung"""
        #Erstellen, wenn kein Ausgabezielverzeichnis vorhanden ist
        os.makedirs(output_dir, exist_ok=True)
        #Kombinieren Sie das Ausgabeverzeichnis und den Dateinamen
        file_path = os.path.join(output_dir, file_name)
        #Dateierstellung
        with open(file_path, mode='w') as f:
            #Erstellen Sie standardmäßig eine leere Datei
            f.write(content)

    def get_files_path(self, input_dir, pattern):
        """Dateipfad abrufen"""
        #Erstellen Sie ein Pfadobjekt, indem Sie ein Verzeichnis angeben
        path_obj = Path(input_dir)
        #Ordnen Sie Dateien im Glob-Format zu
        files_path = path_obj.glob(pattern)
        #Posix-Konvertierung zur Behandlung als Zeichenfolge
        files_path_posix = [file_path.as_posix() for file_path in files_path]
        return files_path_posix

    def random_sampling(self, files_path, sampl_num, output_dir, fix_seed=True) -> None:
        """Stichproben"""
        #Der Startwert wurde korrigiert, wenn jedes Mal dieselbe Datei abgetastet wurde
        if fix_seed is True:
            random.seed(0)
        #Geben Sie den Pfad der Dateigruppe und die Anzahl der Proben an
        files_path_sampled = random.sample(files_path, sampl_num)
        #Erstellen, wenn kein Ausgabezielverzeichnis vorhanden ist
        os.makedirs(output_dir, exist_ok=True)
        #Kopieren
        for file_path in files_path_sampled:
            shutil.copy(file_path, output_dir)

Lauf

Instanzerstellung

file_controler = FileControler()

Verzeichnis

Erstellen Sie 100 Dateien in input / Kopieren Sie die abgetastete Datei in "input / _sampled"

all_files_dir = '../input'
sampled_dir = '../input/_sampled'

Machen Sie zuerst 100 Dateien

Jeweils 50 Dateien mit .py und .txt

for i in range(1, 51):
    file_controler.make_file(all_files_dir, f'file{i}.py')
    file_controler.make_file(all_files_dir, f'file{i}.txt')

Holen Sie sich nur den Pfad der .py-Datei

from pprint import pprint


pattern = '*.py'
files_path = file_controler.get_files_path(all_files_dir, pattern)

pprint(files_path)
# ['../input/file8.py',
#  '../input/file28.py',
#  '../input/file38.py',
#  .
#  .
#  .
#  '../input/file25.py',
#  '../input/file35.py',
#  '../input/file50.py']
#

print(len(files_path))
# 50

Zufallsstichprobe für 10 Dateien

sample_num = 10
file_controler.random_sampling(files_path, sample_num, sampled_dir)

Bestätigung

Terminal


ls input/_sampled

file10.py file23.py file3.py  file35.py file36.py file37.py file38.py file4.py  file41.py file43.py

Recommended Posts

Ich möchte eine Datei mit Python zufällig testen
Ich möchte mit Python ein Fenster erstellen
Ich möchte mit Python in eine Datei schreiben
Ich möchte eine Variable in einen Python-String einbetten
Ich möchte Timeout einfach in Python implementieren
Ich möchte mit einem Roboter in Python arbeiten.
Ich möchte eine schöne Ergänzung zu input () in Python hinzufügen
Ich möchte in der Einschlussnotation drucken
Ich möchte eine Python-Umgebung erstellen
Ich möchte Dunnetts Test in Python machen
So erstellen Sie eine JSON-Datei in Python
Ich möchte ein Spiel mit Python machen
Ich möchte verschachtelte Dicts in Python zusammenführen
Beispiel, um Python Kivy in eine Datei zu packen
Ich möchte den Fortschritt in Python anzeigen!
Ich möchte eine in Python in PDF konvertierte Tabelle wieder in CSV konvertieren
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Ich möchte Affenpatches nur teilweise sicher mit Python machen
Ich möchte in Python schreiben! (1) Überprüfung des Codeformats
Analysieren Sie eine JSON-Zeichenfolge, die in eine Datei in Python geschrieben wurde
Ich möchte schnell UUID generieren (Gedenknotiz) ~ Python Edition ~
Ich möchte mit einem Knopf am Kolben übergehen
Auch mit JavaScript möchte ich Python `range ()` sehen!
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Ein Memorandum zum Ausführen eines Python-Skripts in einer Bat-Datei
[Python] Ich möchte aus einer verschachtelten Liste einen Taple machen
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ich möchte R-Datensatz mit Python verwenden
Ich möchte einen Quantencomputer mit Python betreiben
Ich möchte am Ende etwas mit Python machen
Ich möchte Strings in Kotlin wie Python manipulieren!
Python-Programm ist langsam! Ich möchte beschleunigen! In einem solchen Fall ...
Ich möchte den Dateinamen, die Zeilennummer und den Funktionsnamen in Python 3.4 erhalten
Erstellen Sie eine Binärdatei in Python
Ich möchte mit Python debuggen
Ich habe versucht, einen eindimensionalen Zellautomaten in Python zu implementieren
Ich möchte so etwas wie Uniq in Python sortieren
Ändern Sie das Standardausgabeziel in eine Datei in Python
[Python] Ich möchte einen gemeinsamen Satz zwischen numpy erhalten
Ich möchte viele Prozesse von Python aus starten
So importieren Sie Dateien in Python an eine beliebige Stelle
Ich habe versucht "Wie man eine Methode in Python dekoriert"
Ich möchte eine Nachricht von Python an LINE Bot senden
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich möchte Python mit VS-Code ausführen können
Ich möchte eine Python-Datenquelle in Re: Dash verwenden, um Abfrageergebnisse zu erhalten
Ich möchte die Variablen in der Python-Vorlagendatei ersetzen und in einer anderen Datei in Massenproduktion herstellen
Ich habe versucht, PLSA in Python zu implementieren
Ich möchte einen Platzhalter verwenden, den ich mit Python entfernen möchte
Ich habe versucht, Permutation in Python zu implementieren
Ich habe ein Skript in Python erstellt, um eine Textdatei für JSON zu konvertieren (für das vscode-Benutzer-Snippet).
Ich habe ein Pay-Management-Programm in Python erstellt!
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
Konvertieren Sie die psd-Datei in Python in png
Beispielskript zum Überfüllen von Signalen in Python
Ich habe versucht, PLSA in Python 2 zu implementieren
Ich möchte ein Glas aus Python verwenden
Ich möchte den vollständigen Text mit elasticsearch + python durchsuchen