【发布时间】:2013-05-07 12:25:45
【问题描述】:
我是几天前自学成才的 Python 新手。我对 python 的运行方式有了基本的了解,但我真的坚持以下几点。
我有一个文本文件列表,这些文本文件是邮箱名称的交换服务器邮件转储。我有数百个这样的文本文件,它们目前的名称格式为Priv_date.txt,例如Priv_02JAN2004.txt。我需要能够知道它们来自哪个服务器,因此在这些文本文件中,我想读取具有实际邮件服务器名称(服务器:MAILSERVER1)的第 10 行,并将其添加或附加到原始文件名中。
我想最终得到的文件名是MAILSERVER1_PRIV_02JAN2004.txt。我对文件路径和名称能做什么和不能做什么感到困惑,但看不出我做错了什么。我已经做到了:
import os,sys
folder = "c://EDB_TEMP"
for root, dirs, filenames in os.walk(folder):
for filename in filenames:
fullpath=os.path.join(root,filename)
filename_split = os.path.splitext(fullpath)
#print fullpath
#print filename
with open (fullpath, "r") as tempfile:
for line in tempfile.readlines():
if "Server:" in line:
os.rename(tempfile,+line[10:]+fullpath)
但我不断收到此错误:
error is TypeError: bad operand type for unary +: 'str'
【问题讨论】:
标签: python file-handling