Erstellen JSON Objekt von einer Iteration durch Dateien
Verfasst: Montag 1. Februar 2021, 07:19
Guten Morgen,
ich habe eine Ordnerstruktur, die wie folgt, aus sieht:
Die Datei spkgbuild enthält folgenden Aufbau:
Ich habe ein Script geschrieben, das mit ein JSON Objekt erstellen sollte, das ungefähr diesen Aufbau haben:
Jetzt habe ich dieses Skript geschrieben
Das läuft auch gut, die Datei wird erstellt mit einem ordentlichen JSON Objekt. Das Problem, die Versionsnummer in jedem Objekt passt nicht. Bedeutet, wenn ich jetzt in der Datei den Namen "Firefox" habe mit Version "85.0" dann ist es so als wäre es um eins verrückt, bedeutet, dass die Datei die im nächsten Schleifendurchlauf ist, z. B.: "Firefox-esr" die Versionsnummer "85.0" hat.
Ich finde aber gerade nicht den Fehler in meinem Schleifendurchlauf.
ich habe eine Ordnerstruktur, die wie folgt, aus sieht:
Code: Alles auswählen
mainfolder
- subfolder
- spkgbuild
Code: Alles auswählen
# description :
# depends :
name=
version=
release=1
source=""
build() {
}
Code: Alles auswählen
[
{
"repo":"mainfolder_name",
"name":"",
"version":""
},
{
"repo":"mainfolder_name",
"name":"",
"version":""
},
{
"repo":"mainfolder_name",
"name":"",
"version":""
}
]
Code: Alles auswählen
#!/usr/bin/python3
import glob
import json
repo_list = ["core", "multilib", "nonfree", "testing"]
temp_json=[]
package_name = ''
package_version = ''
for i in repo_list:
print(i)
for name in glob.glob('../' + i +'/*/spkgbuild'):
package = open(name,'r')
Lines = package.readlines()
for line in Lines:
if(line.strip().startswith('name=')):
package_name = line.strip()[5:]
if(line.strip().startswith('version=')):
package_version = line.strip()[8:]
if(package_name != '' and package_version != ''):
temp_json.append({"repo": i,"name": package_name,"version": package_version})
package_name = ''
package_version = ''
with open('packages.json', 'w') as outfile:
json.dump(temp_json, outfile)
Ich finde aber gerade nicht den Fehler in meinem Schleifendurchlauf.