我想知道我在这里做错了什么.. 问题是这一行* 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)
答案 0 :(得分:3)
要连接变量,您需要添加(+
)它们:
final = 'PAT_' + SID + '.txt'
您也可以在此处使用内置函数str.format()
:
final = 'PAT_ {} .txt'.format(SID)
甚至旧的字符串格式化方式,在Python 3中仍然兼容(但str.format
更好用):
final = 'PAT_ %s .txt' % SID
顺便说一下,不需要你的全局声明。 with
语句不会引入新范围,因此在with语句中定义的所有内容都是全局变量。
答案 1 :(得分:0)
使用+
在python中连接字符串