尝试打印一行文本文件中出现的字符串

时间:2019-10-24 19:45:36

标签: python-3.x jupyter-notebook

我正在分析Brooklyn 99的一集,专门试图在文本文件中查找行号,其中Gina说Scully看起来像“茄子”,但我的代码无法正常工作,任何帮助将不胜感激,我正在使用jupyter并且在运行我的代码时没有收到错误消息。

public HttpClient getBasicAuthDefaultHttpClient() {
    CredentialsProvider provider = new BasicCredentialsProvider();
    UsernamePasswordCredentials creds = new UsernamePasswordCredentials(user, 
    password);
    provider.setCredentials(AuthScope.ANY, creds);

    //Fix to avoid HTTP 504 ERROR (GATEWAY TIME OUT ERROR)
    RequestConfig.Builder requestBuilder = RequestConfig.custom();
    requestBuilder.setConnectTimeout(30 * 1000);
    requestBuilder.setConnectionRequestTimeout(30 * 1000);

    HttpClientBuilder builder = HttpClientBuilder.create();
    builder.setDefaultRequestConfig(requestBuilder.build());
    builder.setDefaultCredentialsProvider(provider).build();

    return builder.build();
}

1 个答案:

答案 0 :(得分:0)

if "like an eggplant"将始终进入该块,因为“像茄子”并非虚假。您需要检查文件中的实际行是否等于要查找的字符串。因此应为if line == "like an eggplant"

此外,您要打印行号。您可以使用enumerate()来给您所在行的索引,而不仅仅是打印实际的行本身。

for index, line in enumerate(f):
    if line.lower() == "like an eggplant":
        print(index)
        break

最后,与其进行if line == "like an eggplant":的硬比较,不如做if "like an eggplant" in line:。如果字符串“像茄子”在脚本行中,即使周围有一些杂音,也将返回true。例如,如果脚本说“吉娜:像茄子”,则进行直接比较将返回false。检查字符串是否在行内将返回True。它给您更多的灵活性。