I am working on a software installer for my current application. It needs to be installed to the System HDD. How owuld I detect the system drive and return the letter from Python?
Would the win32 extensions be useful? How about the os module pre packaged with Python?
views:
30answers:
2
A:
If you install the win32 extensions, the following will get you the information you want:
In [82]: import win32api
In [83]: drives = win32api.GetLogicalDriveStrings()
In [84]: drives
Out[84]: 'C:\\\x00D:\\\x00E:\\\x00'
In [85]: drives.split('\x00')
Out[85]: ['C:\\', 'D:\\', 'E:\\', '']
Ignore the last item, due to a terminating character in the string returned by win32's GetLogicalDriveStrings function.
ars
2010-10-24 00:48:21
@ars, thanks for the quick response, but that isn't what I need. That method returns every drive that is connected to the system. I just need the drive the OS is installed on. I figured out how to do and answered it below.
Zachary Brown
2010-10-24 01:08:48
Ah, got it. You should just go ahead and accept your own answer.
ars
2010-10-24 02:40:07
Just tried, it won't let me for two days.
Zachary Brown
2010-10-24 02:48:11
+1
A:
This is how to return the letter of the System drive on a Win32 platform:
import os
print os.getenv("SystemDrive")
The above snippet returns the system drive letter. In my case ( and most cases on windows) C:
Zachary Brown
2010-10-24 01:10:19