473,581 Members | 2,902 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Getting the Directory/Path details

Hi,
I could not understand how I can do the following things in Python.
Please help me.

1. First I have to find the current directory from where the script is
invoked.
2. Next I have to form a directory structure there. If the current
directory in step 1 is /home/mylogin, then from there I have to build
a directory structure like
/home/mylogin/result
/home/mylogin/tmp/
/home/mylogin/.....

There are three things as I look at it. First determing the current
directory path. Second adding a string to it like /result etc. Third
creating the new directory.
Thank you for the help.

Kali
Jul 18 '05 #1
3 3637
Kali K E wrote:
Hi,
I could not understand how I can do the following things in Python.
Please help me.

1. First I have to find the current directory from where the script is
invoked.
2. Next I have to form a directory structure there. If the current
directory in step 1 is /home/mylogin, then from there I have to build
a directory structure like
/home/mylogin/result
/home/mylogin/tmp/
/home/mylogin/.....

There are three things as I look at it. First determing the current
directory path. Second adding a string to it like /result etc. Third
creating the new directory.
Thank you for the help.

Kali


1 os.getcwd()
2 os.path.join()
3 os.mkdir() or os.makedirs()

<code>
import os

subfolders = [
"result",
"temp",
"something/else",
]

folder = os.getcwd()

for sf in subfolders:
os.makedirs(os. path.join(folde r, sf))
</code>
Jul 18 '05 #2
Peter Otten <__*******@web. de> wrote in message news:<bk******* ******@news.t-online.com>...
Kali K E wrote:
Hi,
I could not understand how I can do the following things in Python.
Please help me.

1. First I have to find the current directory from where the script is
invoked.
2. Next I have to form a directory structure there. If the current
directory in step 1 is /home/mylogin, then from there I have to build
a directory structure like
/home/mylogin/result
/home/mylogin/tmp/
/home/mylogin/.....

There are three things as I look at it. First determing the current
directory path. Second adding a string to it like /result etc. Third
creating the new directory.
Thank you for the help.

Kali


1 os.getcwd()
2 os.path.join()
3 os.mkdir() or os.makedirs()

<code>
import os

subfolders = [
"result",
"temp",
"something/else",
]

folder = os.getcwd()

for sf in subfolders:
os.makedirs(os. path.join(folde r, sf))
</code>


Hi,

Thank you very much for the answer. It works fine when used first
time. But when the directory already exists I am getting the following
traceback message.
Traceback (most recent call last):
File "temp6.py", line 15, in ?
os.makedirs(os. path.join(folde r, sf))
File "/usr/lib/python2.2/os.py", line 203, in makedirs
mkdir(name, mode)
OSError: [Errno 17] File exists:
'/hda1/home/kalike/chnages/python/result'

How do I take care in such a case?

Also can you please let me know where I can search for all these OS or
system calls. Is it available as a document some where?

Thanks,
Kali
Jul 18 '05 #3
Kali K E wrote:
Thank you very much for the answer. It works fine when used first
time. But when the directory already exists I am getting the following
traceback message.
Traceback (most recent call last):
File "temp6.py", line 15, in ?
os.makedirs(os. path.join(folde r, sf))
File "/usr/lib/python2.2/os.py", line 203, in makedirs
mkdir(name, mode)
OSError: [Errno 17] File exists:
'/hda1/home/kalike/chnages/python/result'

How do I take care in such a case?
I modified the code to accept already existing directories. The strategy is:
Try to create the directory
If creation fails, see if the directory already exists.
If yes move to the next directory, otherwise throw an exception.

class DirectoryExcept ion(Exception): pass

for sf in subfolders:
dirpath = os.path.join(fo lder, sf)
try:
os.makedirs(dir path)
except OSError, e:
if e.errno == 17:
if not os.path.isdir(d irpath):
raise DirectoryExcept ion, "'%s' can neither be created nor
is it an existing directory" % dirpath
else:
raise # cannot handle it here

Also can you please let me know where I can search for all these OS or
system calls. Is it available as a document some where?


It seems you are not familiar with the concept of Exceptions. So, if you
were already exposed to another programming language, I'd suggest reading
the tutorial that comes with your distribution first, otherwise look out
for a textbook.

The relevant links on the python site are (in recommended reading order):

http://www.python.org/doc/current/tut/tut.html
http://www.python.org/doc/current/li...e-os.path.html
http://www.python.org/doc/current/lib/module-os.html

Peter

Jul 18 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
17463
by: Glenn A. Harlan | last post by:
Why am I receiving the below error when calling - Path.GetTempFileName() The directory name is invalid. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details:...
39
2619
by: Joe Laughlin | last post by:
If I have a character array with "/some/file/directory/file_name", are there any functions / libraries that I could use to separate the directory ("some/file/directory") from the file name ("file_name"). I looked at sscanf(), but that didn't seem to do what I wanted. Thanks, Joe
3
2281
by: James Coleman | last post by:
Hello, The following error is appearing when attempting to create a directory using the availale system.io methods: System.IO.DirectoryNotFoundException: Could not find a part of the path "D:\". at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.Directory.InternalCreateDirectory(String fullPath, String path) at...
0
1217
by: Jeremy | last post by:
I have an ASP.net application which needs to retreive images from multiple remote machines. It is reterieveing images generated by a web cam service on those machines. All of these machines, including the development machine are running on the same windows user account. On the development machine, the app works great. The other client...
0
3703
by: ruju00 | last post by:
I am getting an error in Login() method of the following class FtpConnection public class FtpConnection { public class FtpException : Exception { public FtpException(string message) : base(message){} public FtpException(string message, Exception innerException) : base(message,innerException){}
3
3180
by: Chris Mellon | last post by:
This appears to be a change in behavior from Python 2.4 to Python 2.5, which I can't find documented anywhere. It may be windows only, or related to Windows behavior. In 2.4, the current directory (os.curdir) was on sys.path. In 2.5, it appears to be the base directory of the running script. For example, if you execute the file testme.py in...
4
3319
by: tshad | last post by:
I have a site www.stf.com and a site www.stfstage.com (where I do all my testing). The problem is that www.stfstage.com is only internal and I need to get access from the outside (without creating a new domain). I tried to create a Virtual directory inside my stf site so that I would access it like: www.stf.com/stage/. I run as...
3
2060
by: Steph | last post by:
hello, i ve a probleme when deleting a directory and when i want create file immediatly after. 1) Directory.Delete(myPath, true); 2) TextWriter sw = new StreamWriter(myPath +"test.aspx"); i obtain Exception Details: System.UnauthorizedAccessException: Access to the path '***' is denied.
13
2790
by: lawpoop | last post by:
Hello all - I have a two part question. First of all, I have a website under /home/user/www/. The index.php and all the other website pages are under /home/user/www/. For functions that are used in multiple files, I have php files under / home/user/www/functions/. These files simply have So, in index.php and other files, I have
0
7860
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7788
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
8139
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
8299
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
1
7890
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
1
5667
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
3799
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
0
3813
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1127
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.