【问题标题】:I/O reading from a file (python)从文件中读取 I/O (python)
【发布时间】:2011-06-10 17:22:14
【问题描述】:

好的,我有一个 IRC 机器人,我有一个包含昵称的文件(这是机器人的管理员),例如,如果有人在频道中键入“!op”,我将如何让机器人读取文件以查看输入“!op”的用户是否在管理员列表中,如果他在然后继续操作..我只是对如何让它为授权用户读取文件感到困惑..您的帮助将不胜感激。谢谢。

我可以用这样的东西吗..

      def isadmin(nick, 'masters.txt'):
      for admin in file:
          if nick == admin.rstrip():
              return True
      return False

     if data.find('!op') != -1:
     nick = data.split('!')[ 0 ].replace(':','')
     if nick == isadmin(nick, open('masters.txt')):
        sck.send('MODE ' + chan + ' +o ' + nick + '\r\n')
     else:
          sck.send('PRIVMSG ' + chan + ' :' + ' youre not my master ' + '\r\n')

【问题讨论】:

    标签: python input io irc


    【解决方案1】:
    admins = set(nick.strip() for nick in open('masters.txt'))
    
    def isadmin(nick):
        return nick.strip() in admins
    

    文件读取的成本足够高,以至于您不想太频繁地重新读取文件;如果它很短,请阅读一次并记住它。

    【讨论】:

      【解决方案2】:

      我假设你的名字是行分隔

      def isadmin(name, file):
          for admin in file:
              if name == admin.rstrip():
                  return True
          return False
      

      但它们也可以逗号分隔

      def isadmin(name, file):
          for admins in file:
              if name in admins.rstrip().split(","):
                  return True
          return False
      

      并像这样使用它:

      isadmin("bob", open("admins.txt"))
      

      【讨论】:

      • 你能解释一下isadmin("bob", open("admins.txt"))这一行吗
      • 它将两个函数中的名称设置为“bob”,即测试对象,并且 open(“admins.txt”) 打开一个具有读取权限的文件“admins.txt”并设置file 变量在isadmin 中指向指向“admins.txt”的文件对象,然后isadmin 函数从中读取行。
      • 你能检查我上面的代码,并告诉我这样做是否正确..谢谢
      • 我的函数的用法是正确的,我不确定其他代码(虽然你忘了正确缩进函数体)。
      【解决方案3】:

      您可能应该只浏览整个Python tutorial。有一整段关于reading and writing files

      【讨论】:

      • 我知道如何从文件中读取,我只是不知道如何开始,我需要一个例子
      • 那么你需要更具体地说明是什么部分给你带来了麻烦。
      • 看看我的代码,这样你就可以知道我想要完成什么
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 2020-06-26
      • 2018-04-27
      • 1970-01-01
      • 2015-11-28
      • 2020-07-18
      • 1970-01-01
      相关资源
      最近更新 更多