Python-IO编程-操作文件和目录

如果我们要操作文件、、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。

如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统地接口函数,

打开Python交互式命令行,我们来看看如何使用os模块地基本功能:

>>> import os
>>> os.name
'nt'
>>>

如果是nt,就是windows系统,如果是posix,说明系统是Linux、Unix或Mac OS X。

环境变量

在操作系统中定义的环境变量,全部保存在os.environ这个变量中,可直接查看。


>>> os.environ
environ({'SESSIONNAME': 'Console', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'LOGONSERVER': '\\\\NLCLG1P6T66OU80', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'USERPROFILE': 'C:\\Users\\Administrator', 'NUMBER_OF_PROCESSORS': '8', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules', 'SYSTEMDRIVE': 'C:', 'FPS_BROWSER_USER_PROFILE_STRING': 'Default', 'COMSPEC': 'C:\\WINDOWS\\system32\\cmd.exe', 'USERDOMAIN_ROAMINGPROFILE': 'NLCLG1P6T66OU80', 'USERDOMAIN': 'NLCLG1P6T66OU80', 'PATH': 'C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\MySQL\\MySQL Utilities 1.6\\;D:\\Python3.5\\Scripts\\;D:\\Python3.5\\;C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps;', 'LOCALAPPDATA': 'C:\\Users\\Administrator\\AppData\\Local', 'ALLUSERSPROFILE': 'C:\\ProgramData', 'TEMP': 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp', 'ONEDRIVE': 'C:\\Users\\Administrator\\OneDrive', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 60 Stepping 3, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '3c03', 'PROGRAMDATA': 'C:\\ProgramData', 'COMPUTERNAME': 'NLCLG1P6T66OU80', 'PUBLIC': 'C:\\Users\\Public', 'USERNAME': 'Administrator', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'PROGRAMFILES': 'C:\\Program Files', 'HOMEPATH': '\\Users\\Administrator', 'OS': 'Windows_NT', 'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer', 'SYSTEMROOT': 'C:\\WINDOWS', 'HOMEDRIVE': 'C:', 'TMP': 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROGRAMW6432': 'C:\\Program Files', 'WINDIR': 'C:\\WINDOWS', 'APPDATA': 'C:\\Users\\Administrator\\AppData\\Roaming', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files'})

要获取某个环节遍量的值,可以调用os.environ.get('key'):

>>> os.environ.get('PATH')
'C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\MySQL\\MySQL Utilities 1.6\\;D:\\Python3.5\\Scripts\\;D:\\Python3.5\\;C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps;'

操作文件和目录

操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中,这一点要注意一下。查看、创建和删除目录可以这么调用:

# 查看当前目录的绝对路径:
>>> os.path.abspath('.')
'/Users/michael'
# 在某个目录下创建一个新目录,首先把新目录的完整路径表示出来:
>>> os.path.join('/Users/michael', 'testdir')
'/Users/michael/testdir'
# 然后创建一个目录:
>>> os.mkdir('/Users/michael/testdir')
# 删掉一个目录:
>>> os.rmdir('/Users/michael/testdir')

把两个路径合成一个时,不要直接拼字符串,而要通过os.path.join()函数,这样可以正确处理不同操作系统的路径分隔符。在Linux/Unix/Mac下,os.path.jion()返回这样的字符串:

part-1/part-2

而windows下会返回这样的字符串:

part-1\part-2


















猜你喜欢

转载自blog.csdn.net/python_jeff/article/details/80003958