首先,python脚本--我收到了一个错误--我似乎无法使用配置文件。脚本的第一部分接受用户输入,并将其放入没有problem..Then的mysql数据库中,我进入文件系统工作,事情变得有点糟糕。我可以不使用配置文件选项让它工作,但我希望保持它的一致性,并从该文件中提取:
vshare = str(raw_input('Share the user needs access to: '))
vrights = str(raw_input('Should this user be Read Only? (y/n): '))
f = open("%s/%s" % (config['vsftp']['user_dir'], (vusername), 'wr'))
#f = open("/etc/vsftpd_user_conf/%s" % (vusername) , 'wr' )
f.write("local_root=%s/%s" % (config['vsftp']['local_root_dir'], vshare))
if vrights.lower() in ['y', 'ye', 'yes']:
buffer = []
for line in f.readlines():
if 'write_enable=' in line:
buffer.append('write_enable=NO')
else:
buffer.append(line)
f.writelines(buffer)
f.close()我得到的错误是:
TypeError:不是所有在字符串格式化期间转换的参数
如果我取消对注释行的注释,它会工作得更远一些,并将其作为well..But进行错误处理,一旦我处理了这个问题,我将处理这个问题。
发布于 2009-07-07 18:14:12
你的块茎变形了
f = open("%s/%s" % (config['vsftp']['user_dir'], (vusername), 'wr'))应该是
f = open("%s/%s" % (config['vsftp']['user_dir'], (vusername)), 'wr')发布于 2009-07-07 18:14:10
错误在这里:
open("%s/%s" % (config['vsftp']['user_dir'], (vusername), 'wr'))您有三个参数,但字符串中只有两个%s。你可能是想说:
open("%s/%s" % (config['vsftp']['user_dir'], vusername), 'wr')虽然“wr”还不清楚,但您可能指的是w+或r+。
发布于 2009-07-07 18:15:32
f = open("%s/%s" % (config['vsftp']['user_dir'], (vusername), 'wr'))您正在将三个参数(config‘’vsftp‘、(vusername)、'wr')传递给一个格式字符串,它需要两个参数:"%s/%s“。因此,错误告诉您,格式字符串中有一个参数未被使用。
https://stackoverflow.com/questions/1093884
复制相似问题