I just start to use tor controller,  I notice the mannual says:

 pass Tor the "--CookieAuthentication 1" option when you start it.  Tor will create a file in its data directory
 called "control_auth_cookie". All your controller needs to do is to pass the contents of this file to authenticate()
when it connects to Tor.



 there are two kinds of Tor, one is installed and can be run by command "tor"
the other is Tor Browser Bundle,

1) with command "tor", when it establishes, if I run example.py
the result is
           "Connection refused. Is the ControlPort enabled?"

I tried command:  "tor --CookieAuthentication 1"  to start Tor,
but I can't find the so called data directory, and the running information says:
                        Could not open "/etc/tor/torrc": Permission denied

2) with TBB, after I started TBB, if I run example.py,
it seems it can connect to
ControlPort, but it prompts for a password
there is a Data directory in TBB, but I can't find the  so called
"control_auth_cookie"
file, so when I run TBB, how can I pass "
--CookieAuthentication 1" to tor?


example.py :

import time
import TorCtl

class BandwidthListener(TorCtl.PostEventListener):
  def __init__(self):
    TorCtl.PostEventListener.__init__(self)

  def bandwidth_event(self, event):
    print "tor read %i bytes and wrote %i bytes" % (event.read, event.written)

# constructs a listener that prints BW events
myListener = BandwidthListener()

# initiates a TorCtl connection, returning None if it was unsuccessful
conn = TorCtl.connect()

if conn:
  # tells tor to send us BW events
  conn.set_events(["BW"])

  # attaches the listener so it'll receive BW events
  conn.add_event_listener(myListener)

  # run until we get a keyboard interrupt
  try:
    while True:
      time.sleep(10)
  except KeyboardInterrupt: pass