为什么我不能从Python中由几个串联字符串组成的变量中打开一个文件?

2024-09-25 08:36:15 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我写了这个代码

spec = raw_input("Enter the specimen number: ")
naorimp = raw_input("Native or Implant (N/I)? ")
trial = raw_input("Trial number: ")
typana = raw_input("What do you want to analyze (contact area[CA]/contact pressure[CP])? ")

try :
    if typana.lower() == "cp" :
        naorimp = naorimp.upper()
        TSfilnm = 'pressure'+spec+naorimp.upper()+trial+'.txt'
    else :
        naorimp = naorimp.upper()
        TSfilnm = 'area'+spec+naorimp+trial+'.txt'
    TSfile = open(TSfilnm, 'r')
    myofilnm = 'accelerometer'+spec+naorim.upper()+trial+'.txt'
    print myofilnm
    myofile = open(myofilnm, 'r')
except :
    print "File could not be found."
    print "Please re-run the program."
    exit()

print "OK"

我想根据用户的输入和几个参数(样本编号、本机或植入、试验编号和分析类型)打开一个文件。该文件已与python文件代码位于同一文件夹中。但是当我运行程序时,我总是以except语句结束(找不到文件)。请重新运行程序)。我仔细检查了TSfilnm变量中的实际文件名和字符串,它们是相同的。但是,无法执行TSfile。你知道吗

另外,我文件夹中的文件名是:pressure3N1.txt、area3N1.txt、accelerometer3N1.txt


Tags: 文件the代码txtnumberinputrawupper
1条回答
网友
1楼 · 发布于 2024-09-25 08:36:15

此行中的变量名中缺少p

myofilnm = 'accelerometer'+spec+naorim.upper()+trial+'.txt'

应该是

myofilnm = 'accelerometer'+spec+naorimp.upper()+trial+'.txt'

另外,在开发过程中不要单独使用'except',它只会隐藏像这种情况下的错误。最好是像这样做。你知道吗

import sys

try:
    #Your_code_here
except:
     print sys.exc_info()[1]
     #Any other code you wanna run

相关问题 更多 >