python - 在其他函数中使用 Split 参数

标签 python for-loop split

该代码假设采用一个包含多个参数的字符串,并使用“Split()”将它们分开。它确实这样做了,但它只将第一个参数传递给“CheckList()”。因此,如果我输入“1 2 4”,它只会将“1”传递给 CheckList。其他一切都按其应有的方式进行。

import re            

def CheckList(Start):
    DoIt = 0
    s = int(Start)
    End = s + 1
    End = str(End)
    for PodCheck in F.readlines():

        if re.match('Pod' + End, PodCheck.strip()):
            DoIt = 0

        if re.match('Pod' + Start, PodCheck.strip()):
            DoIt = 1

        if DoIt == 1:
            print PodCheck,   

    return

def Split(P):
    Pods = P.split()
    for Pod in Pods:
        CheckList(Pod)

    return

F = open("C:\Users\User\Desktop\IP_List.txt")

Pod = raw_input('What pod number would you like to check?: ')
Split(Pod.strip())
print 'Done'

最佳答案

您的问题就在这里:

for PodCheck in F.readlines():

第一次调用CheckList会用完F中的所有数据。对 Checklist 的后续调用会跳过 for 循环,因为没有任何内容可供读取。

所以打开F后你应该读取它的所有数据。在不更改太多代码的情况下,我会在打开文件后添加以下内容:

F_lines = F.readlines()

并将 CheckList 中的循环更改为

for PodCheck in F_lines:

关于python - 在其他函数中使用 Split 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665124/

相关文章:

python - 在 Django 中管理多个文件上传

c - strtok() 如何在 C 中将字符串拆分为标记?

javascript - 如何在js中拆分多个字符模式?

c - 我找不到我的循环不工作的原因

javascript - 在 For 循环中分配 JQuery On Click 函数

python - 我在 python 中创建列表列表时遇到问题

arrays - Swift:字符串无法读取数据

python - Windows 上使用 Cygwin OpenSSH 的 Paramiko 找不到known_hosts 文件

python - 从线程停止 WxPython 应用程序的主循环需要窗口焦点

python - 在 Pandas groupby DataFrame 中每天仅绘制一次主要刻度线和标签