i was working on code for a file sorter adn came to the issue that when ever the extension variable is only 1 the code will freeze i tryed to get basic response like print("hall") but this didnt work after cheking the len of the extensio i was even more confused cause it clearly displayed 1 so yer pls help
pls see above for what i tryed and i was expacting to for now skip that extesion and just go on with the other files in a folder
import os
foldername=input("name of folder: ")
path=os.listdir(foldername)
with open("C:/Users/flori/OneDrive/Dokumente/code/extesions.txt","r") as f:
k=f.read()
n=0
while len(path)!=n:
#getting the extension from the file to sort it in the folders
extension=path[n].split(".")
print(len(extension))
print(extension)
#looking if the extesion is matching with any registerd extesion in the file "k"
ü=0
b=0
with open("C:/Users/flori/OneDrive/Dokumente/code/extesions.txt","r") as f:
k=f.readlines()
while b < len(k):
if len(extension)==2:
for i in k:
print(len(k)-1)
print(len(extension))
if extension[1]==k[b][:-1]:
print("match")
print(k[b])
b=b+1
ü=ü+1
else:
path[+1]
n=n+1
"/n"
"/n"
"/n"
In the section
path[+1], it seems to be attempting to increment the index of the path, but you are not updatingn, hence you are stuck in an infinite loop. The correct way to increase the loop counter would ben += 1.The strings "/n" will not print a newline. To print newline, you should use
print("\n").You are reading the extensions file twice. Once to read the entire content and then to read line by line. This is redundant.
It's more Pythonic to use a for loop to iterate through each file in path rather than a while loop.
I've tried to address these issues as following:
Hope it helps !