os模塊提供了不少容許你的程序和操做系統直接交互的功能python
#test.py import os print(os.getcwd())
D:\ProgramLearning>python Py_program\test.py D:\ProgramLearning #顯示的是當前python解釋器所在的目錄,而不是文件所在目錄
#test.py import os print(os.listdir('.'))
D:\ProgramLearning>python Py_program\test.py #打印ProgramLearning下的目錄 ['HuJiang_Python', 'Py_program'] D:\ProgramLearning>cd Py_program D:\ProgramLearning\Py_program>python test.py #打印Py_program下的目錄 ['.idea', '01模塊一.md', '3thMenu.py', 'account.txt', 'Dic_test.py', 'file_rewrite.py', 'function_test.py', 'my_module.py', 'Shopping.py', 'test.py', 'test1.py', 'U2_test.py', 'venv', '電視劇.txt', '虛擬環境下載.docx']
>>> os.environ environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\Thinkpad\\AppData\\Roaming', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'LAPTOP-KUESMB62', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'CONFIGSETROOT': 'C:\\Windows\\ConfigSetRoot', 'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData', 'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer', 'FPS_BROWSER_USER_PROFILE_STRING': 'Default', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\Thinkpad', 'LOCALAPPDATA': 'C:\\Users\\Thinkpad\\AppData\\Local', 'LOGONSERVER': '\\\\LAPTOP-KUESMB62', 'NUMBER_OF_PROCESSORS': '4', 'ONEDRIVE': 'C:\\Users\\Thinkpad\\OneDrive', 'OS': 'Windows_NT', 'PATH': 'D:\\Software\\Anaconda\\Anaconda;D:\\Software\\Anaconda\\Anaconda\\Library\\mingw-w64\\bin;D:\\Software\\Anaconda\\Anaconda\\Library\\usr\\bin;D:\\Software\\Anaconda\\Anaconda\\Library\\bin;D:\\Software\\Anaconda\\Anaconda\\Scripts;C:\\Python\\Scripts\\;C:\\Python\\;C:\\Program Files (x86)\\Intel\\iCLS Client\\;C:\\Program Files\\Intel\\iCLS Client\\;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Windows\\System32\\OpenSSH\\;D:\\Software\\Python解釋器\\Scripts\\;D:\\Software\\Python解釋器\\;C:\\Users\\Thinkpad\\AppData\\Local\\Microsoft\\WindowsApps;;D:\\Software\\VSCode\\Microsoft VS Code\\bin', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 142 Stepping 9, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '8e09', 'PROGRAMDATA': 'C:\\ProgramData', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT': '$P$G', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules', 'PUBLIC': 'C:\\Users\\Public', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\Thinkpad\\AppData\\Local\\Temp', 'TMP': 'C:\\Users\\Thinkpad\\AppData\\Local\\Temp', 'USERDOMAIN': 'LAPTOP-KUESMB62', 'USERDOMAIN_ROAMINGPROFILE': 'LAPTOP-KUESMB62', 'USERNAME': 'Thinkpad', 'USERPROFILE': 'C:\\Users\\Thinkpad', 'WINDIR': 'C:\\Windows'})
>>> os.linesep '\r\n'
>>> os.name 'nt'
>>> os.makedirs('test/sdfs/e') #test 不存在時會自動建立
>>> os.mkdir('test/sdfs/e') #test 不存在時沒法建立,只能建立一個 Traceback (most recent call last): File "<stdin>", line 1, in <module> FileExistsError: [WinError 183] 當文件已存在時,沒法建立該文件。: 'test/sdfs/e'
>>> os.listdir('.') ['.continuum', '.oracle_jre_usage', '.PyCharm2018.3', '.vscode', '3D Objects', 'AppData', 'Application Data', 'Contacts', 'Cookies', 'Desktop', 'Documents', 'Downloads', 'Favorites', 'IntelGraphicsProfiles', 'Links', 'Local Settings', 'MicrosoftEdgeBackups', 'Music', 'My Documents', 'NetHood', 'NTUSER.DAT', 'ntuser.dat.LOG1', 'ntuser.dat.LOG2', 'NTUSER.DAT{bc3b0ccb-3b0e-11e9-ac14-a81e84e70c20}.TM.blf', 'NTUSER.DAT{bc3b0ccb-3b0e-11e9-ac14-a81e84e70c20}.TMContainer00000000000000000001.regtrans-ms', 'NTUSER.DAT{bc3b0ccb-3b0e-11e9-ac14-a81e84e70c20}.TMContainer00000000000000000002.regtrans-ms', 'ntuser.ini', 'OneDrive', 'Pictures', 'PrintHood', 'Recent', 'Saved Games', 'Searches', 'SendTo', 'Templates', 'test', 'Videos', '「開始」菜單'] >>> os.stat('test') os.stat_result(st_mode=16895, st_ino=12103423998638553, st_dev=1849078143, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1552273101, st_mtime=1552273099, st_ctime=1552273099) #st_mode:權限 st_ino:字節號 st_dev:文件所在設備ID st_nlink:鏈向此文件的鏈接數(硬鏈接) st_uid:用戶ID st_gid:使用者的團隊ID st_size:文件大小 st_atime:最近存取時間 st_mtime:最近修改時間 st_ctime:最近權限修改時間
>>> os.path.join('root','tset','t.py') 'root\\tset\\t.py'
>>> os.getcwd() 'C:\\Users\\Thinkpad' >>> os.chdir('/cmder') >>> os.getcwd() 'C:\\cmder'
>>> os.get_terminal_size() os.terminal_size(columns=120, lines=30) >>> os.get_terminal_size()#拖動終端,以此來決定在終端上書寫多少東西 os.terminal_size(columns=75, lines=30)