Sorry for maybe so stupid question, but: I have a inputs 1 from txt file and I sort inputs to categories by keyword and get output 1, but if I try input 2 without content for one of categories I get output 2
Code:
def my_sort(conts):
social_folders = {'engine': 1, 'wormix_mm': 2, 'wormix_ok': 3}
line_fields = conts.strip().split("/")
social = line_fields[3]
return social_folders[social]
numbers = 'First', 'Second', 'Third'#, 'Fourth'
folds = ['engine', 'wormix_mm', 'wormix_ok']
with open('./testsort.txt') as testsortf, open('./test_out999.txt', "w") as test_out:
contents = testsortf.readlines()
contents[-1] = f'{contents[-1]}\n'
contents.sort(key=my_sort)
# It needs 2 for loops
for k, fold in enumerate(numbers):
# Put enter before every category, except the first one
if k != 0:
test_out.write(f'\n')
# Put the label of each category
test_out.write(f'{numbers[k]}:\n')
for i, line in enumerate(contents):
# Put the right label in each category
if line.strip().split("/")[3] == folds[k]:
test_out.write(f'{line}')
My inputs 1:
https://markus.rmart.ru/engine/preloader/somefold
https://markus.rmart.ru/wormix_ok/preloader/somefold3
https://markus.rmart.ru/engine/preloader/somefold3
https://markus.rmart.ru/engine/preloader/somefold1
https://markus.rmart.ru/wormix_ok/preloader/somefold4
https://markus.rmart.ru/wormix_mm/preloader/somefold2
https://markus.rmart.ru/wormix_mm/preloader/somefold1
https://markus.rmart.ru/engine/preloader/somefold2
https://markus.rmart.ru/engine/preloader/somefold5
https://markus.rmart.ru/wormix_mm/preloader/somefold5
https://markus.rmart.ru/wormix_ok/preloader/somefold1
My output 1
First:
https://markus.rmart.ru/engine/preloader/somefold
https://markus.rmart.ru/engine/preloader/somefold3
https://markus.rmart.ru/engine/preloader/somefold1
https://markus.rmart.ru/engine/preloader/somefold2
https://markus.rmart.ru/engine/preloader/somefold5
Second:
https://markus.rmart.ru/wormix_mm/preloader/somefold2
https://markus.rmart.ru/wormix_mm/preloader/somefold1
https://markus.rmart.ru/wormix_mm/preloader/somefold5
Third:
https://markus.rmart.ru/wormix_ok/preloader/somefold1
https://markus.rmart.ru/wormix_ok/preloader/somefold4
https://markus.rmart.ru/wormix_ok/preloader/somefold3
My inputs 2:
https://markus.rmart.ru/engine/preloader/somefold
https://markus.rmart.ru/engine/preloader/somefold3
https://markus.rmart.ru/engine/preloader/somefold1
https://markus.rmart.ru/wormix_mm/preloader/somefold2
https://markus.rmart.ru/wormix_mm/preloader/somefold1
https://markus.rmart.ru/engine/preloader/somefold2
https://markus.rmart.ru/engine/preloader/somefold5
https://markus.rmart.ru/wormix_mm/preloader/somefold5
My output 2:
First:
https://markus.rmart.ru/engine/preloader/somefold
https://markus.rmart.ru/engine/preloader/somefold3
https://markus.rmart.ru/engine/preloader/somefold1
https://markus.rmart.ru/engine/preloader/somefold2
https://markus.rmart.ru/engine/preloader/somefold5
Second:
https://markus.rmart.ru/wormix_mm/preloader/somefold2
https://markus.rmart.ru/wormix_mm/preloader/somefold1
https://markus.rmart.ru/wormix_mm/preloader/somefold5
Third:
So, in second case I get nothing in the third category, but title of third category are exist What condition I must add for this output?
Input:
https://markus.rmart.ru/engine/preloader/somefold
https://markus.rmart.ru/engine/preloader/somefold3
https://markus.rmart.ru/engine/preloader/somefold1
https://markus.rmart.ru/engine/preloader/somefold2
https://markus.rmart.ru/engine/preloader/somefold5
Desired output:
First:
https://markus.rmart.ru/engine/preloader/somefold
https://markus.rmart.ru/engine/preloader/somefold3
https://markus.rmart.ru/engine/preloader/somefold1
https://markus.rmart.ru/engine/preloader/somefold2
https://markus.rmart.ru/engine/preloader/somefold5
So, if second and third category is empty, titles for this categories does not print
Aucun commentaire:
Enregistrer un commentaire