keresse meg az összes fájlt egy könyvtárban

hogyan találunk egy fájlt a számítógépen Python? Sok módja van ennek, kezdjük az elsővel.

operációs rendszer használata.listdir ()

csak importálnia kell az os modult, és használhatja az operációs rendszert.listdir funkció, hogy képes legyen látni az összes fájlt egy könyvtárban. A Python 3, ha nem tesz semmit, mint érv a kerek zárójelben, akkor visszaad egy listát az összes fájlt, mappát az aktuális könyvtár., A Pyton 2-ben os-t kell használni.listdir(“.”) az aktuális könyvtárban található fájlok megtekintéséhez.

# First tryimport osf_list = os.listdir()

Ha egy adott könyvtárat szeretne, akkor az elérési utat argumentumként kell elhelyeznie.

os.listdir("C:\\documents")

ebben a példában, akkor nézd meg a fájlokat a mappában dokumentumok a merevlemez c:

os.listdir (): fájlok beszerzése a jelenlegi dir-ben (Python 3)

a legegyszerűbb módja annak, hogy a fájlt a jelenlegi Dir-ben a Python 3-ban lehessen., Ez nagyon egyszerű, használja az operációs rendszer modul és a listdir () funkciót, és akkor a fájlt, hogy dir (és esetleges mappák, amelyek a dir, de nem lesz a fájl az alkönyvtárban, az, hogy használhatja walk-fogok beszélni róla később).

import osarr = os.listdir()arr

a teljes elérési út neve

amint észrevette, a fenti kódban nincs a fájl teljes elérési útja. Ha abszolút elérési útra van szüksége, használhatja az operációs rendszer másik funkcióját.path modul nevű _getfullpathname, amivel a fájlt, hogy kapsz os.listdir () érvként., Vannak más módon, hogy a teljes utat, ahogy ellenőrizni fogjuk később (én helyébe, ahogy azt mexmex, _getfullpathname abspath).

Szerezd meg egy fájltípus teljes elérési útját az összes alkönyvtárba a walk

segítségével, ezt nagyon hasznosnak találom, hogy sok könyvtárban megtaláljam a dolgokat, és segített nekem megtalálni egy fájlt, amelyről nem emlékszem a névre:

import osthisdir = os.getcwd()for r, d, f in os.walk(thisdir): for file in f: if ".docx" in file: print(os.path.join(r, file))

os.listdir (): fájlok beszerzése az aktuális dir-ben (Python 2)

import osarr = os.listdir('.')arr# output: 

a

# method 1x = os.listdir('..')# method 2x = os.listdir('/')

fájlok letöltése: os.,listdir () egy adott könyvtárban (Python 2 és 3)

import osarr = os.listdir('F:\\python')arr# output: 

Get fájlok egy adott alkönyvtár os.listdir ()

import osx = os.listdir("./content")

os.séta (‘.’)- current directory

import osarr = next(os.walk('.'))arr# output: 

glob module – all files

import globprint(glob.glob("*"))# output: 

next(os.séta (‘.”) és az os.ösvény.csatlakozz (‘dir’, ‘file’)

következő(os.séta (‘F:\’) – szerezd meg a teljes útvonal – lista megértését

# output# 

os.walk-get full path-minden fájl sub dirs

x = x# output# 

os.,listdir() – csak txt fájlok

arr_txt = print(arr_txt)# output: 

glob – csak txt fájlok

import globx = glob.glob("*.txt")x# output: 

A glob, hogy a teljes utat a fájlok

Ha kell, az abszolút elérési út a fájlokat:

Egyéb használja a glob

Ha azt akarom, hogy minden a fájlokat a könyvtárba:

x = glob.glob("*")

a os.ösvény.isfile, hogy elkerüljék a könyvtárak a listában *

segítségével pathlib származó (Python 3.4)

Ha szeretné használni lista megértése

flist = 

Get all and only files with os.,séta

csak a fájlokat a következő, majd séta a könyvtárban

import osx = next(os.walk('F://python'))print(x)################################### output: 

csak a könyvtárak a következő, majd séta a könyvtárban

import osnext(os.walk('F://python')) # for the current dir use ('.')# output: 

**Kap a subdir neveket séta

os.scandir() from python 3.5 on

Ex. 1: hány fájl van az alkönyvtárakban?

ebben a példában keressük az összes könyvtárban és annak alkönyvtáraiban szereplő fájlok számát.

Ex.2: Hogyan lehet másolni az összes fájlt a dir-ről a másikra?,

a parancsfájl, hogy rendeljen a számítógép megtalálni az összes fájlt egy Típus (alapértelmezett: pptx), majd másolja őket egy új mappába.

Ex.3: Hogyan lehet az összes fájlt egy TXT fájlban

abban az esetben, ha txt fájlt szeretne létrehozni az összes fájlnévvel:

példa: hozzon létre egy txt-t a merevlemez összes fájlnevével

A C:\ összes fájlja egy szöveges fájlban

Ez az előző kód rövidebb verziója. Módosítsa azt a mappát, ahol elkezdi megtalálni a fájlokat, ha más pozícióból kell indulnia., Ez a kód létrehoz egy 50 mb szöveges fájlt a számítógépen valami kevesebb, mint 500.000 sor fájlokat a teljes elérési utat.

import oswith open("file.txt", "w", encoding="utf-8") as filewrite: for r, d, f in os.walk("C:\\"): for file in f: filewrite.write(f"{r + file}\n")

keres egy típusú fájlt az összes merevlemez os.séta

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük