1

我想在我的程序中使用两个变量重命名一个名为 decon.out 的文件。到目前为止我有

gwf = input ("Enter value: ")
myList = os.listdir('.')
    for myFile in myList:
        if re.match("^HHEMQZ", myFile):
            numE = myFile
        elif re.match("^HHNMQZ", myFile):
            numN = myFile
        else: 
            den = myFile
os.rename('decon.out', 'RF'+gwf+''+numE+'')

例如,gwf = 2.5 and numE = HHEMQZ20010101

然后,我希望将 decon.out 重命名为RF2.5HHEMQZ20010101RF 始终相同的位置。目前,当我运行脚本时出现错误:

Traceback (most recent call last):
  File "RunDeconv.py", line 77, in <module>
    os.rename('decon.out', 'RF'+gwf+''+numE+'')
TypeError: cannot concatenate 'str' and 'float' objects

有什么建议么?

4

2 回答 2

2

改用raw_input()input()将输入值解释为 Python 代码,将您的2.5输入转换为浮点数。

于 2013-08-02T11:05:22.480 回答
0

关于错误:在字符串连接中

'RF'+gwf+''+numE+''

所有成员都必须是字符串。

您可以使用

type(gwf)
type(numE)

检查哪个是数字。

然后你只需要

str(gwf)

或者

str(numE)

取决于可能的情况。或者可能 gwf 和 numE 都需要 str() 处理,所以你的最后一行代码应该是这样的:

os.rename('decon.out', 'RF'+str(gwf)+''+str(numE)+'')
于 2013-08-02T11:14:43.463 回答