Вероятно, лучший и самый простой способ добиться того, что вам нужно, - использовать встроенный инструмент анализа кода в Visual Studio, чтобы найти и принять вас непосредственно к мертвому коду и неиспользуемым членам.
К этому эффект, я просто создал новый файл набора правил анализа кода (Via File-> New-> File, убедившись, что General на левой панели был выбран и прокручивается вниз, чтобы найти набор правил анализа кода, указав ему имя файла, затем выполните поиск и выбор ниже). Ниже приведено содержимое файла набора правил, которое вы можете просто скопировать, и вставьте его в новый файл с расширением .ruleset для использования.
С учетом файла набора правил можно щелкнуть правой кнопкой мыши по файлу проекта в панель «Проводник решений» и выберите «Свойства». В окне свойств проекта щелкните вкладку «Анализ кода» на левой панели, а затем нажмите «Открыть», чтобы перейти к местоположению файла .ruleset. Если вы перейдете к свойствам файла решения (в отличие от файла проекта), вы можете установить файл анализа кода для каждого проекта в решении в одном месте (в разделе «Параметры анализа кода» и используя раскрывающийся список там, чтобы выбрать файл набора правил. ПРИМЕЧАНИЕ: вы, должно быть, ранее просмотрели файл набора правил, чтобы он отображался в раскрывающемся списке в этом окне свойств, однако).
Затем вы просто запускаете анализ кода на проекты / решение (Via Analyze-> Run Code Analysis On Solution -OR- Alt + F11), и он будет возвращаться в виде предупреждений, любых неописанных методов или неиспользуемых элементов, которые он находит.
Будьте осторожны, так как один из способов анализа кода для мертвого кода может направить вас неправильно, это если ссылка «скрыта», только когда-либо вызывающая метод через делегатов и, конечно же, отражение.
Правилами обнаружения мертвого кода, в частности, являются:
Ниже приведено содержимое файла .ruleset, которое можно выполнить, выполнив описанные выше шаги для вашего соответствия. Вы можете просто скопировать приведенный ниже XML, вставить его в блокнот ++, сохранить где-нибудь с расширением .ruleset, просмотреть и использовать, как описано выше:
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Dead Code Rules" Description=" " ToolsVersion="12.0">
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
<Rule Id="CA1801" Action="Warning" />
<Rule Id="CA1804" Action="Warning" />
<Rule Id="CA1811" Action="Warning" />
<Rule Id="CA1812" Action="Warning" />
<Rule Id="CA1823" Action="Warning" />
</Rules>
<Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
<Rule Id="C6259" Action="Warning" />
</Rules>
</RuleSet>
Надеюсь, это вам поможет, и не забудьте выберите лучший ответ.
Я думаю, что гораздо проще было бы прочитать его в pandas DataFrame
напрямую, используя pd.read_html()
, что немедленно вернет (длина 1) список всех таблиц из URL: [ 114]
url = r'http://www.espn.com/college-sports/basketball/recruiting/playerrankings/_/view/espnu100/sort/rank/class/2019'
dfs = pd.read_html(url, header=0)
dfs[0].head()
# RK PLAYER POS \
#0 1 James WisemanVideo | Scouts Report C
#1 2 Cole AnthonyVideo | Scouts Report PG
#2 3 Vernon Carey Jr.Video | Scouts Report C
#3 4 Isaiah StewartVideo | Scouts Report C
#4 5 Anthony EdwardsVideo | Scouts Report SG
#
# HOMETOWN HT WT STARS GRADE \
#0 Memphis, TNEast High School 7'0'' 230 NaN 97
#1 Briarwood, NYOak Hill Academy 6'3'' 185 NaN 97
#2 Southwest Ranches, FLNSU University School 6'10'' 275 NaN 97
#3 Rochester, NYLa Lumiere School 6'9'' 245 NaN 97
#4 Atlanta, GAHoly Spirit School 6'4'' 205 NaN 97
#
# SCHOOL
#0 MemphisSigned
#1 List
#2 DukeCommitted12/06/2018
#3 WashingtonCommitted01/20/2019
#4 GeorgiaCommitted02/11/2019
Конечно, вам придется сделать некоторую очистку, но я думаю, что это будет намного эффективнее, чем чтение всего в списки.