Zamilovat si programování Zamilovat si programování
Pouze tento týden až 80% sleva na SQL jazyky
Zamiluj si programování! Až 80 % bodů na prémiový obsah zdarma. Více informací

Diskuze: Použite funkcie listdir()

Python Python Použite funkcie listdir() American English version English version

Aktivity (1)
Avatar
Ľubo Pifko Rusnák:21.11.2018 23:05

Zdravím, mám kód ktorý načíta fotku osoby a vypíše parametre ako napr. vek ,emócie atd. To funguje ale ja potrebujem to dať do cyklu tak aby vypísalo všetky parametre fotiek tak ako idú za sebou z priečinka. S tým je problém. Skompiluje ale nevýpiše vôbec žiaden parameter.

Zkusil jsem: .Pokúšam sa to robit cez funkciu listdir ale nejak mi to nefunguje. Skompiluje ale nevýpiše vôbec žiaden parameter.

import requests
import os



BASE_URL = 'https://westeurope.api.cognitive.microsoft.com/face/v1.0/detect'
headers = {
    'Ocp-Apim-Subscription-Key': 'd7264e9252674c9292b0d8b295cf3251',
    'Content-Type': 'application/octet-stream'
}
parameters = {
    'returnFaceId': 'true',
    'returnFaceLandmarks': 'false',
    'returnFaceAttributes': 'age,gender,emotion'
}


img_path = 'C:\\Users\\Pifko\\Desktop\\bakalarka\\ffmpeg-20181107-0c6d4e7-win64-static\\ffmpeg-20181107-0c6d4e7-win64-static\\bin\\all'
files = os.listdir(img_path)

for file in files:
    file = os.path.join(img_path,file)
img_data = open(file, 'rb').read()

def post_image(img_data):
    response = requests.post(BASE_URL, params=parameters,
                             headers=headers, data=img_data)
    try:
        return response.json()
    except:
        return None
print(post_image(img_data))


#delay 3 sekundy,
#nevypise ale ulozi obrazok, dat do csv suboru,

Chci docílit: Zdravím, mám kód ktorý načíta fotku osoby a vypíše parametre ako napr. vek ,emócie atd. Potrebujem to dať do cyklu tak aby vypísalo všetky parametre fotiek tak ako idú za sebou z priečinka. Dalej potrebujem aby mi obrazky nevypísalo parametre ale aby ich uložilo najlepšie do csv formátu.

 
Odpovědět 21.11.2018 23:05
Avatar
MQ .
Překladatel
Avatar
MQ .:22.11.2018 21:41

Ahoj, pokud jsem tě dobře pochopil chceš informace o každém obrázku ze složky uložit do CSV souboru. Použil jsem knihovnu Pandas a vytvořil DataFrame, do kterého ukládám hodnoty a následně ho uložím jako CSV soubor.

import os
import pandas as pd

df = pd.DataFrame(columns = ["hodnota1", "hodnota2"])

files = os.listdir(img_path)
for soubor in files:
    with open(soubor, "rb") as f:
        img_data = f.read()
        data = post_image(img_data)
        df = df.append(pd.DataFrame([[data.hodnota1, data.hodnota2]], columns = ["hodnota1", "hodnota2"]), ignore_index=True)
df.to_csv(nazev_souboru)
Nahoru Odpovědět 22.11.2018 21:41
Programovácí jazyk zítřka bude vysokoúrovňový, bez ";", prostý a v neposlední řadě čitelný.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.