Python 使用扫描仪打印文件中的行
我试着用扫描仪读取一个文件,然后让我的程序打印文件的第一行,然后在整个文件中的每一行上循环并打印它们。这个问题是,我甚至不能让它从第一个文件打印一行。我没有收到错误,所以我无法找出问题所在Python 使用扫描仪打印文件中的行,python,loops,command-prompt,Python,Loops,Command Prompt,我试着用扫描仪读取一个文件,然后让我的程序打印文件的第一行,然后在整个文件中的每一行上循环并打印它们。这个问题是,我甚至不能让它从第一个文件打印一行。我没有收到错误,所以我无法找出问题所在 import sys import scanner def main(): log1 = (sys.argv[1]) log2 = (sys.argv[2]) def readRecords(s): s = Scanner("log1") print
import sys
import scanner
def main():
log1 = (sys.argv[1])
log2 = (sys.argv[2])
def readRecords(s):
s = Scanner("log1")
print (log1)
main()
我将在此提出如下建议:
import sys
import scanner
def readRecords(log):
s = scanner.Scanner(log)
print s.SomeAttribute
def main():
log1 = (sys.argv[1])
log2 = (sys.argv[2])
readRecords(log1)
readRecords(log2)
main()
但是,您的原始代码有许多问题,其中最起码的问题是您从未调用readRecords函数。您也从未定义/导入
Scanner
,也从未对所分配的s
变量执行任何操作(除非仅创建一个Scanner对象会产生所需的副作用)。您从未调用readRecords内部函数。也许你们可以详细说明什么是扫描器,扫描器对象应该如何工作?扫描器是什么,它来自哪里?正如@Ben指出的,您将readRecords定义为main中的一个函数,但从不调用它。扫描仪是一个读取子系统,允许您从文件中读取以空格分隔的标记。