[Tutor] File access by os.system
Mike.Hansen at atmel.com
Tue May 15 16:01:25 CEST 2007
> -----Original Message-----
> From: tutor-bounces at python.org
> [mailto:tutor-bounces at python.org] On Behalf Of Alan Gauld
> Sent: Tuesday, May 15, 2007 1:44 AM
> To: tutor at python.org
> Subject: Re: [Tutor] File access by os.system
> "lohith madireddy" <lohithreddym at gmail.com>
> > I have files named 'x.pdb', 'y.pdb',..... in one directory. I am
> > using python to read the files in that directory and do a system
> > operation on each of the file using os.system. When I use this, it
> > always gives an error saying 'could not read the file'.
> There are several likely problems.
> The first is that the files might not have security pernissions set
> for you to manipulate - can you do the system() command from
> the OS prompt oK?
> Second, you are only passing the name of the file not the full
> path so the system command can't find the file.
> Third you could be passing something other than a
> file - eg another directory - to the command.
> > import sys,os,tempfile,shutil
> > Pdbs = os.listdir(os.getcwd())
> > temp1=tempfile.TemporaryFile()
> > for Pdb in Pdbs:
> You probably need to use stat here to check that the item
> really is a file and that it has permissions.
> Alternatively use a try except clause and if an exception
> is raised simply use continue to start the next loop iteration.
> (possibly after printing an error message with the pdb name
> in it so you can check why it failed later)
> > print(type(Pdb))
> > os.system("dsspcmbi -v Pdb temp1")
Should the os.system command be something like
command = "dsspcmbi -v %s %s" %(Pdb, temp1)
More information about the Tutor