Programming :: Python ConfigParser Not Saving Comments?
Jun 16, 2011
I have a lot of scripts in Bash and am 'converting' one of them to Python just to get to know how Python works. Up to now I'm loving it, the feel, the logic, the power, ...
1. I have a template file which will be filled in by a technician, meaning it's filled with comments (#) and variable = value combinations, where the technician needs to fill in the values needed under the section referring to the configuration he's performing. 2. After installing from DVD/ISO, the software RPMs get installed and there is a default configuration file containing variable = value combinations where the values need to be changed to the values indicated in the template file mentioned in 1.
In order to do this I played around (and Googled a lot) with ConfigParser. I can load the template, get whatever value I need, load the configuration file, set the new value to the correct variable and write the file.
I checked that the template and configuration files loaded (open()) contain everything, including comments. However when I write the configuration file all comments get lost.
Here's what I have so far: Class to create a fakesection header since ConfigParser needs sections and the configuration file doesn't have those.
Code:
class FakeSectionHead(object):
def __init__(self, fd):
self.fd = fd
I am developing a program in a system where the Linux does not take care of the sync command automatically. So I have to run it from my application always I save some data in the disk, which in my case is a 2GB sdcard. It is true that I can make the operation system takes care of the syncronization, using a proper mount option, but in this case the programm's performance drops drastically. In particular I use the shelve module from Python to save data that comes from a socket/TCP connection and I have to deal with the potencial risk of the system being turned off suddenly Initially I wrote something like that to save data using shelve:
But that takes too much time to save the data. Note that I use the sync from the OS every time I close a file to prevent data corruption in the case of the "computer" being turned off with data even in the buffer. To improve the performance I made something like that:
Code:
def saveListData( list ) fd = shelve.open('file_name', 'c') for itemVo in list: fd[itemVo.key] = itemVo fd.close() os.system("sync")
Thus, first I saved an amount of objects in a list then I open the file and save the objects. In this way I have to open the file just one time to save a lot of objects.However I would like to know if adding a lot of objects before closing the file would increase the risk of data corruption.I known that turning off the system after fd.close() and before os.sync may cause problems. But what about turning off the system after
I currently have a set up in vim so that when I type "<leader>ns" it takes any given word and turns it into a sub "sub word(){}". I also have it when I type "<leader>nc" it creates a doc comment section that is "blank". I was wondering if someone could help me out with combining the two so that when I typed <leader>ns it would create the doc comments with the word already in the Subroutine: line and create the new sub routine aswell. I'm trying to understand what I have (downloaded from the internet) and only doing so so. Code:
" Put cursor over word and hit ,ns to create new Sub nmap <leader>nc o #------------------------------------------------------------------------------ # Subroutine: # Function :
I wanted to save a python program because I am reading byte of python and I went to save in !/usr/bin. When I try to save in this folder I get this error "[Errno 13] Permission denied: 'usr/bin/helloworld.py'.
I have a function definition in a Python 2.x script which take a tuple as one of its arguments, but 2to3 has no answers nor any of my searching on how to represent the same in Python 3.x
I want that I click with the mouse on the video, it paused.I notice that there is "BaconVideoWidget" which I guess is the video rendering widget but it don't have signal named "clicked":
I am writing this because I want to keep all of the things that I have now on my ubuntu 10. 4 computer and do not want to upgrade until I have some way of keeping all of the things that I currently have on it.Sohow so I make this happen? Should I try to load these program settings on a flash drive?
I blame myself but I am lazy person. Now I am trying to learn a bit a bash scripting. But saving any script to see how it works is so boring. You know these exercises:
Code:
Now save this in a file - say helloworld.sh (haha), chmod and execute to see
Code:
Is there a way to execute text as a script? I mean
I found out how to save an object using Serializable in JAVA, the standard however how can I set up my MainVariableList to have a function/method saveobject so it saves the object within it's own class, the below code compiles, however when I run it reports an error on startup but works, basically what do I use for the red line, how do I tell it what object is passed to the class?
got a textfile with : as delimiters in between fields. e.g.1:2:3:4:5:6Thomas Cruise:Johnavid:Peter:Betty:JaneThe names may or may not contain white spaces.I am required to substitute any one of these names in the file with a new one inputted by user.e.g. to change John to Johnny, David to Beckham, etc. without touching any of the other names in the same line. Just one at a time.So here's the sed expression I was trying out with:
sed -i "s/<(.:.:)David>/$1Beckham/" names.txt I also tried: sed -i "s/<(.*)David>/<1Beckham>/" names.txt
I am accessing a firewire camera using the libdc1394 library and saving the image as a PPM file, using the code below:
[Code].....
My question is whether the above code is portable. I presume it is, since the result is a binary PPM file which should be capable of being read across multiple computers with different architectures and different operating systems. But at the same time, all that the above code is doing is just saving the binary representation of unsigned chars on the harddrive, and there does not seem to be any reason why the binary representations of the unsigned chars will be identical across multiple computers.
Imported an Excel file into OO.o Calc. EVerything is fine except the comments are all blank. It knows that comments should be there, but they're all empty. how to recover the contents?
I have seen that it's possible to put special comments in a source file that tell vim what indentation style to use. The problem is that i don't know how to use them, and can't find and tutorials or documeantaion since I have no clue what this feature is called.
I have a python script I wrote a while ago and now I would like to call that script from inside C. I know how to do one command from C, but how would you execute an entire script from C, and passing arguments? Like:
I have decided to learn python as it seems to be powerful not just for web development (like php) but also a clean powerful language for other puposes.
Q: Can someone suggest a tutorial or book, on learning python (beginner to intermediate) which has as its focus for learning, web development?
In order of preference: 1. Comprehensive, 2. Online, 3. Free
I have a bash script that I want to import in to Python, mainly just to see if I can or not. However in the script I do use some piping of commands into sed to trim it down to what I need. When I tried doing it with the os.system() call, it didn't work. The exact error is
I am using Centos. I have written some scipts in python that access my routers and fetch the configuration, etc. Now i was thinking of creating a web interface which i can access from my windows XP. I want it to have good look n feel :-),
I've been loosely following this:http://norvig.com/lispy.htmlAnd I have a problem: the parsing function throws an array out of bounds exception. I thought that maybe I'm doing it wrong, so I copy and pasted the code from the page, and still the same error