使用了 raw_input 但没有产生结果

used raw_input and doesn't yield results

使用时

first = raw_input('mol bio results + count')
f1 = open(first,'r')
f1data = f1.readlines()

second = raw_input('physics journal list')
f2 = open(second,'r')
f2data = f2.readlines()


total = 0
for line1 in f1data:
 i = 0
 for line2 in f2data:
    if line1 in line2:
        i+=1
        total+=1
 print line1 + str(i) + "\n"

print total

它只会在屏幕上写入第一个文件 ("mol bio results + count") 的名称,而不会在它永远加载时写入任何其他内容。 我的代码错了吗?这两个文件都显示在它显示我正在使用的文件夹的位置。 谢谢

我已经在我的系统上试过了你的代码。 raw_input() 完美运行。确保您的代码与您使用的 python 版本一致。或者你的 python 是 broken.It 可能是有什么东西阻止 python 访问你的文件。在这种情况下,请检查您是否有足够的权限读取该文件。

raw_input 打印字符串作为提示并等待输入和回车。

我不知道你的 python 是最近多久,但我选择的语法将为你处理文件关闭(以及其他事情)

为了清楚起见,我还冒昧地重新格式化和重命名了一些变量

print("Please enter the file name for mol bio results + count")
first = raw_input('(Type it here and press enter) : ')

print("Please enter the file name for physics journal list")
second = raw_input(': ')

with open(first, 'r') as f1:
    f1data = f1.readlines()

with open(second, 'r') as f2:
    f2data = f2.readlines()

total = 0
for f1line in f1data:
    i = 0
    # print(len(f1line))
    for f2line in f2data:
        # print(len(f2line))
        if f1line.rstrip() in f2line:
            i += 1
            total += 1
    print f1line + ':' + str(i) + "\n"

print total