Мерзавец: Как я игнорирую соответствие каталогам в подкаталоге?

Большинство предыдущих ответов верны. Вот еще один способ преобразования номера столбца в столбцы Excel. Решение довольно простое, если мы думаем об этом как о базовом преобразовании. Просто преобразуйте номер столбца в основание 26, поскольку в нем только 26 букв. Вот как вы можете это сделать:

шаги:

  • установить столбец как частное

  • вычтите одно из фактор-переменной (из предыдущего шага), потому что нам нужно попасть в таблицу ascii , где 97 - это.

  • разделите на 26 и получите остаток.

  • добавьте +97 к остатку и преобразуйте в char (поскольку 97 является «a» в таблице ASCII)
  • частное становится новым частным / 26 (поскольку мы можем перейти через 26 столбцов)
  • продолжайте делать это, пока частное не станет больше 0, а затем верните результат

вот код, который делает это:)

def convert_num_to_column(column_num):
    result = ""
    quotient = column_num
    remainder = 0
    while (quotient >0):
        quotient = quotient -1
        remainder = quotient%26
        result = chr(int(remainder)+97)+result
        quotient = int(quotient/26)
    return result

print("--",convert_num_to_column(1).upper())

17
задан Dane O'Connor 6 July 2009 в 16:26
поделиться

4 ответа

Попробуйте добавить эти строки в свой .gitignore файл:

src/*/bin
src/*/obj
21
ответ дан 30 November 2019 в 10:43
поделиться

Я считаю, что вы можете добавить

src/*/bin/*

в .gitignore, и все, что соответствует шаблону, будет проигнорировано.

1
ответ дан 30 November 2019 в 10:43
поделиться

Instead of focusing on performance, you may want to use some of the following static analysis tools to identify any bugs/potential bugs in code, and fix those. These will sometimes help identify performance issues:

Both of these include Eclipse plug ins.

t игнорирует файлы с именами obj и bin , но игнорирует каталоги obj и bin ниже по иерархии после выполнения этого сценария:

#!/bin/sh
mkdir src/project3
touch src/project3/testfile && git add src/project3/testfile
touch src/project3/obj
touch src/project3/bin

mkdir src/subdir
mkdir src/subdir/proj
touch src/subdir/proj/testfile && git add src/subdir/proj/testfile
mkdir src/subdir/proj/obj
mkdir src/subdir/proj/bin
touch src/subdir/proj/obj/testfile
touch src/subdir/proj/bin/testfile

Новые неотслеживаемые файлы:

# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       src/project1/testfile
#       src/project2/testfile
#       src/project3/bin
#       src/project3/obj
#       src/testfile
#       testfile
#       tools/testfile
#       tools/tool1/bin/
#       tools/tool1/testfile
9
ответ дан 30 November 2019 в 10:43
поделиться

Принятый ответ мне не помог.

> git --version
git version 1.7.0.2.msysgit.0

Похоже, косая черта не работает с msysgit в файле .gitignore. Это работает.

*\bin
*\obj

Однако это также будет соответствовать исключению любых файлов с именами bin или obj, что вряд ли будет проблемой, за исключением случаев, когда это действительно так. Это можно обойти следующим образом (и да, косая черта в этом случае работает):

bin/
obj/
*.user
*.suo

Это сопоставляет файлы на разной глубине в иерархии ниже папки, в которой находится файл .gitignore. Обратите внимание, что описанное выше не сработало, когда я включил префикс для определенной подпапки, поэтому я поместил его непосредственно в папку Source.

Как пользователь Visual Studio (предположительно, OP тоже из ссылки на bin/obj), также неплохо исключить файлы .user и .suo.


Из спецификации gitignore:

Шаблоны имеют следующий формат:

  • Пустая строка не соответствует файлам, поэтому она может служить разделителем для удобства чтения.

  • Строка, начинающаяся с #, служит комментарием.

  • Необязательный префикс ! что отрицает шаблон; любой соответствующий файл, исключенный предыдущим шаблоном, будет снова включен. Если инвертированный шаблон совпадает, это переопределит источники шаблонов с более низким приоритетом.

  • Если шаблон заканчивается косой чертой, он удаляется для последующего описания, но будет найдено совпадение только с каталогом. Другими словами, foo/ будет соответствовать каталогу foo и путям под ним, но не будет соответствовать обычному файлу или символической ссылке foo (это согласуется с тем, как в целом работает pathspec в git).

  • Если шаблон не содержит косую черту /, git рассматривает его как шаблон командной оболочки и проверяет совпадение с путем относительно местоположения файла .gitignore (относительно верхнего уровня рабочего дерева, если не из файл .gitignore).

  • В противном случае git рассматривает шаблон как шаблон оболочки, подходящий для использования fnmatch(3) с флагом FNM_PATHNAME: подстановочные знаки в шаблоне не будут соответствовать символу / в пути. Например, «Документация/*.html» соответствует «Документация/git.html», но не «Документация/ppc/ppc.html» или «tools/perf/Documentation/perf.html».

  • Начальная косая черта соответствует началу пути. Например, «/*.c» соответствует «cat-file.c», но не «mozilla-sha1/sha1.c».

17
ответ дан 30 November 2019 в 10:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: