質問

まずPythonスクリプトと私は、configファイルを使用して周りのように見えることはできません、エラーを取得しています。スクリプトの最初の部分は、ユーザー入力を受け取り、無problem..ThenでMySQLデータベースに私は、ファイルシステムの仕事に取得し、物事はビット梨shaped..Iを行くことを置くが、それは設定ファイルのオプションを使用せずに仕事を得ることができますが、私は一貫しそれを維持し、そのファイルからプルしたいと思います:

  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: not all arguments converted during string formatting
私はコメント行のコメントを解除した場合、

は、それが動作し、私はすべての入力のために、このヒカップsorted..Thanksを得れば、私はそれに対処しますwell..Butとしてビットさらにそれを行い、エラーが出ます。

役に立ちましたか?

解決

あなたのタプルが奇形れる

f = open("%s/%s" % (config['vsftp']['user_dir'], (vusername), 'wr'))

f = open("%s/%s" % (config['vsftp']['user_dir'], (vusername)), 'wr')

他のヒント

エラーがここにあります:

open("%s/%s" % (config['vsftp']['user_dir'], (vusername), 'wr'))

あなたは3つのパラメータを持っていますが、2つだけの%s文字列インチあなたはおそらく言うことを意味します:

open("%s/%s" % (config['vsftp']['user_dir'], vusername), 'wr')

'WR' は不明であるが、あなたはおそらく+またはR + wを意味します。

http://docs.python.org/library/functions.html#open

f = open("%s/%s" % (config['vsftp']['user_dir'], (vusername), 'wr'))
"%sの/%s" の

あなたは2を期待した書式文字列に三つの引数(コンフィグ[ 'VSFTP'] [ 'user_dirを']、(vusername)、 'WR')を渡しています。だから、エラーが使用されていないフォーマット文字列の引数があることを通知されます。

私はあなたが間違った括弧を持っていると思う、あなたの行は次のようになります。

f = open("%s/%s" % (config['vsftp']['user_dir'], (vusername)), 'wr')

これは、この行があるべきように見えます

f = open("%s/%s" % (config['vsftp']['user_dir'], vusername), 'wr')

(私は上の閉じ括弧を移動しました。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top