1. Python / Говнокод #9697

    −100

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    import os
    import shutil
    import sys
    
    files = []
    fent = -1
    ent = -1
    num = -1
    start = -1
    excess = -1
    j = -1
    i = -1
    
    for arg in sys.argv[1:]:
        try:
    	if j == -1:
    	    files.append(str(arg))
    	    fent = 0
    	    j += 1
    	elif i == 0:
           	    num = int(arg)
    	elif i == 1:
    	    start = int(arg)
    	    ent = 0
    	else:
    	    excess = int(arg)
    	i += 1
        except (TypeError, ValueError):
            files.append(str(arg))
    	j += 1
            fent = 0
    i = (j + 1) * -1
    j = -1
    while i <= j:
        if fent == -1:
            files.append(str(raw_input('File ')))
            j += 1
            fent = 0
        i += 1
        while num < 0:
            num = int(raw_input('Copies '))
        if ent == -1:
            start = int(raw_input('Start from '))
            ent = 0
        if os.path.exists(files[j]):
            n = start
            z = num + start
            while (n<z):
    	    filename2 = '[%(number)i]' % {
           	    'number':n
    	    } + files[j]
    	    if os.path.exists(filename2):
                    print filename2, "exists"
                    z += 1
        	    else:	    
           	        shutil.copy(files[j],filename2)
    	        print filename2
    	    n += 1
        else:
    	print 'No file "%(number)s"' % {
    	'number':files[j]
    	}
        j += 1
        i += 1
    print "Finished!"

    Запостил: rewad, 16 Марта 2012

    Комментарии (3) RSS

    • > shutil.copy(files[j],filename2)
      Да... ради этого стоило расчехлять питон.
      Ответить
      • Если задача разового характера (написал, выполнил, <s>выбросил скрипт</s>) - то, если не помнишь более прямой вариант - стоило. В документацию лезть дольше.
        Ответить
    • Хм, первый цикл - это такой хитрозакрученный разбор параметров, что глаза слезятся. Что туда вообще передаётся? Имена файлов + до трёх целочисленных параметров после каждого имени. Причём параметры общие для всех файлов походу... А самое весёлое, что 12345 - это вполне легальное имя файла, которое придётся передавать как ./12345, иначе скрипт его не обработает.
      Ответить

    Добавить комментарий