[FAQTS] Python Knowledge Base Update -- June 22nd, 2000
Fiona Czuczman
fiona at sitegnome.com
Thu Jun 22 08:09:32 EDT 2000
More information about the Python-list mailing list
Thu Jun 22 08:09:32 EDT 2000
- Previous message (by thread): Win32 Serial Port Setup
- Next message (by thread): [FAQTS] Python Knowledge Base Update -- June 22nd, 2000
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Greetings! Below are the entries that made it into http://python.faqts.com tonight. Fiona ## New Entries ################################################# ------------------------------------------------------------- Is there a Win32 module that I can use to set directory privileges, that has the functionality of cacls.exe using python? http://www.faqts.com/knowledge-base/view.phtml/aid/3914 ------------------------------------------------------------- Fiona Czuczman Mark Hammond, Albert Hopkins Check the win32security module plus the pywintypes module for direct access to security objects. The "problem" is that Python makes no attempt to make it easier than it is in C/C++. There is a fair bit of magic to weave, involving a number of steps to successfully create the ACLs, ACEs and SDs! Getting the code wrong can cause a few problems ;-) There are no "nice" wrappers around this stuff simply because I personally dont have the experience with them. The few times I need to do security related things I search MSDN for C sample code, and translate it to the relevant win32security/pywintypes calls. As an example of the verbosity required, below is some code from the book examples <plug>Chapter 16 - Windows NT Administration</plug> that simply creates a security descriptor ready to be applied to the necessary object. (In fact, this is probably a reasonable percentage of what you need) # A utility function that creates an NT security object for a user. def CreateUserSecurityDescriptor(userName): sidUser = win32security.LookupAccountName(serverName, userName)[0] sd = win32security.SECURITY_DESCRIPTOR() # Create the "well known" SID for the administrators group subAuths = ntsecuritycon.SECURITY_BUILTIN_DOMAIN_RID, \ ntsecuritycon.DOMAIN_ALIAS_RID_ADMINS sidAdmins = win32security.SID(ntsecuritycon.SECURITY_NT_AUTHORITY, subAuths) # Now set the ACL, giving user and admin full access. acl = win32security.ACL(128) acl.AddAccessAllowedAce(win32file.FILE_ALL_ACCESS, sidUser) acl.AddAccessAllowedAce(win32file.FILE_ALL_ACCESS, sidAdmins) sd.SetSecurityDescriptorDacl(1, acl, 0) return sd ------------------------------------------------------------- Is there a help or man function, like in unix-like OS, that we can use to describe any function of python? http://www.faqts.com/knowledge-base/view.phtml/aid/3910 ------------------------------------------------------------- Fiona Czuczman Richard Chamberlain, William Dandreta You can use docstrings which are there for most things. import sys print sys.__doc__ ------------- There is a Windows help file called Pythlp.chm that I use. You can download from the python webside. It has an index and you can seach for keywords. ------------------------------------------------------------- How do I get Tkinter to resize frames etc. when their parents (e.g. a Toplevel instance) are resized? http://www.faqts.com/knowledge-base/view.phtml/aid/3913 ------------------------------------------------------------- Fiona Czuczman richard_chamberlain, John Grayson It depends on the kind of manager you use, but I'll use pack as an example. from Tkinter import * root=Tk() Frame(root,borderwidth=3,relief=GROOVE).pack(side=LEFT,fill=BOTH,expand= YES) root.mainloop() If you look at www.manning.com/grayson you can download two chapters of Python and Tkinter programming one of which is screen layout. (of course you'll be much better buying a copy ;) You'll also find over 20,000 lines of example code at the same site... ------------------------------------------------------------- Is there some documentation for the python interface to postgresql? http://www.faqts.com/knowledge-base/view.phtml/aid/3911 ------------------------------------------------------------- Fiona Czuczman Rod Haper,Erno Kuusela The PyGreSQL package ftp://ftp.druid.net/pub/distrib/PyGreSQL.tgz (Latest released version) has a tutorial directory. The README that comes with the module documents the postgresql-specific api. the most recent versions support DB-API also. ------------------------------------------------------------- Why does 123.4+2=125.40000000000001? http://www.faqts.com/knowledge-base/view.phtml/aid/3909 ------------------------------------------------------------- Fiona Czuczman Ruud de Rooij >From http://www.python.org/1.6/ The repr() of floating point numbers now gives full (17-digit) precision. This means that a number like 8.1 (which cannot be represented exactly in binary) will show up as 8.0999999999999996 when displayed using repr(). This shouldn't break any code but it may confuse users, especially since the interactive shell uses repr() to display all floating point results. Use str() or explicit precision in string format (e.g. "%.12g" % x) to see the the more familiar, rounded form. ## Edited Entries ############################################## ------------------------------------------------------------- How can I get the current date and time? How do I print out the current time? http://www.faqts.com/knowledge-base/view.phtml/aid/3600 ------------------------------------------------------------- Mike Hostetler, Fiona Czuczman http://www.python.org/doc/current/lib/module-time.html,Jeff I didn't think that the official documentation was very clear on this (but it is there), so I'm adding it here. If you do >> import time >> print time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())) You'll see something like: 2000-06-08 15:05:09 To dissect this: time.time() gets the time in seconds since the epoch time.localtime(secs) creates a tuple time.strftime(string,tuple) creates a string of the time, using the formatting in "string" (that is what the "%"'s are doing there). To see the full table of formatting options, see http://www.python.org/doc/current/lib/module-time.html Also, the system man page, ('man strftime')? documents a closer set of the formatting options actually supported by the libc, which is what the python interpreter actually calls into. this will come into play mostly on 'older' machines, but python runs on them too!
- Previous message (by thread): Win32 Serial Port Setup
- Next message (by thread): [FAQTS] Python Knowledge Base Update -- June 22nd, 2000
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list