#!/usr/bin/python3 # -*- coding: utf-8 -*- """ ex07.py """ import os NOM_FITXER = "llista.dir" N_MIDA_NOM = 999 N_GROS = 9999 def vLecturaLlistaDir(fR): for line in fR: print ("%s"%line, end='') def vMostraExtensions(fR): for line in fR: nCmpt = 0 for cCar in line: if cCar == '.' or cCar == '\n' or cCar == '\0': print("%s"%line[nCmpt:],end='') break; nCmpt += 1 def nComptaArxiusPuntC(fR): nComptaArxius = 0; for line in fR: nCmpt = 0 for cCar in line: if cCar == '.' or cCar == '\n' or cCar == '\0': szExt = "%s"%line[nCmpt:-1] # El darrer -1 treu el salt de línia ('\n') #print("%s"%szExt) break; nCmpt += 1 if szExt == ".c": nComptaArxius += 1 return nComptaArxius def nComptaArxiusExtensio(fR,szE): nComptaArxius = 0; for line in fR: nCmpt = 0 for cCar in line: if cCar == '.' or cCar == '\n' or cCar == '\0': szExt = "%s"%line[nCmpt:-1] # El darrer -1 treu el salt de línia ('\n') #print("%s"%szExt) break; nCmpt += 1 if szE == szExt: nComptaArxius += 1 return nComptaArxius def rewind(fR): fR.seek(0) def szEscriuCapXml(): return "\n\n" def szEscriuPeuXml(sz): return sz + "\n" def szEscriuTipus(sz,szTipus): return sz + "\t\n\t\n"%szTipus def main(): szTerminal = "ls > %s" % NOM_FITXER # "ls > %s" a sistemes seriosos i "dir /b > %s" a Finestrots os.system(szTerminal) f = open(NOM_FITXER, "r") #vLecturaLlistaDir(f) #vMostraExtensions(f) #print("Arxius amb extensió .c : %d"%nComptaArxiusPuntC(f)) """ print("Arxius amb extensió .c : %d"%nComptaArxiusExtensio(f,".c")) rewind(f) # Funció personalitzada que fa servir f.seek(0) print("Arxius amb extensió .py : %d"%nComptaArxiusExtensio(f,".py")) rewind(f) print("Arxius amb extensió .txt : %d"%nComptaArxiusExtensio(f,".txt")) rewind(f) print("Arxius amb extensió .pdf : %d"%nComptaArxiusExtensio(f,".pdf")) """ szXml = szEscriuCapXml() szXml = szEscriuTipus(szXml,"ascii") szXml = szEscriuTipus(szXml,"binari") szXml = szEscriuPeuXml(szXml) print("Contingut arxiu XML :\n\n%s"%szXml) f.close() main()