-4

我想知道我在这里做错了什么。问题是这一行 *final = 'PAT_' SID '.txt'* 其中 SID 是一个变量 任何人都可以快速浏览一下,我确信我在做一些愚蠢的事情。

下面是完整的代码...

#!/usr/bin/env python
import os
global SID
global final
with open ('sampleID.txt', 'r') as inF:
    for line in inF:
        if 'Sample ID:' in line:

           SID = line.split(':')[1]
           final = 'PAT_' SID '.txt'
           os.rename("sampleID.txt",final)
4

2 回答 2

3

要连接变量,您需要添加 ( +) 它们:

final = 'PAT_' + SID + '.txt'

您还可以在此处使用内置函数str.format()

final = 'PAT_ {} .txt'.format(SID)

甚至是旧的字符串格式化方式,它在 Python 3 中仍然兼容(但str.format更好用):

final = 'PAT_ %s .txt' % SID

顺便说一句,不需要您的全局语句。with语句不会引入新的范围,因此在 with 语句中定义的所有内容都是全局变量。

于 2013-08-21T22:05:09.377 回答
0

用于+在python中连接字符串

于 2013-08-21T22:05:34.630 回答