日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Python 中的 sys 库 和 os 库

發布時間:2024/9/30 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 中的 sys 库 和 os 库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一,sys--系統相關的參數和函數

1.??sys.argv: #list??

傳遞給Python腳本的命令行參數列表,第一個參數是程序本身的路徑,實現了從程序外部向程序內傳遞參數。

import sysprint("命令行參數如下:") for i in sys.argv:print(i)結果如下: D:\st13\test>1.py 西安 北京 2019-01-29 命令行參數如下: D:\st13\test\1.py 西安 北京 2019-01-29


2.?sys.path: #list

import模塊的目錄名位置列表 ,列表中的第一項為當前位置。

>>> import sys >>> print(sys.path) ['', 'C:\\Python36\\python36.zip', 'C:\\Python36\\DLLs', 'C:\\Python36\\lib', 'C:\\Python36', 'C:\\Users\\Lenovo\\AppData\\Roaming\\Python\\Python36\\site-packages', 'C:\\Python36\\lib\\site-packages']

3.??sys.exit([arg]):
?

import sys#sys.exit() 退出程序, 正常退出時為sys.exit(0) def f(value):print(value)sys.exit(0)print("hello") try:sys.exit(1) except SystemExit as value:f(value)print("world")結果如下: hello 1

4. sys.version:#string

獲得python版本的信息? ?

>>> import sys >>> sys.version '3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)]'

5. sys.platform:? ? #string

獲取當前系統平臺,返回操作系統的名稱。?

>>> import sys >>> sys.platform 'win32'

6.?sys.modules:? ?#module

返回系統導入的模塊的 絕對路徑

>>> import sys >>> sys.modules['os'] <module 'os' from 'C:\\Python36\\lib\\os.py'>

7. sys.modules.keys() : #dict_keys

返回所有已經導入的模塊?

>>>import sys >>> sys.modules.keys() dict_keys(['builtins', 'sys', '_frozen_importlib', '_imp', '_warnings', '_thread', '_weakref', '_frozen_importlib_external', '_io', 'marshal', 'nt', 'winreg', 'zipimport', 'encodings', 'codecs', '_codecs', 'encodings.aliases', 'encodings.utf_8', '_signal', '__main__', 'encodings.latin_1', 'io', 'abc', '_weakrefset', 's ite', 'os', 'errno', 'stat', '_stat', 'ntpath', 'genericpath', 'os.path', '_collections_abc', '_sitebuiltins', 'sysconfig', '_bootlocale', '_locale', 'encodings.gbk', '_codecs_cn', '_multibytecodec', 'types', 'functools', '_functools', 'collections', 'operator', '_operator', 'keyword', 'heapq', '_heapq', 'itertools', ' reprlib', '_collections', 'weakref', 'collections.abc', 'importlib', 'importlib._bootstrap', 'importlib._bootstrap_external', 'warnings', 'importlib.util', 'importlib.abc', 'importlib.machinery', 'contextlib', 'zope', 'atexit'])

8?. sys.modules.values() :#dict_values

返回所有的模塊,包括模塊的絕對路徑

>>> sys.modules.values() dict_values([<module 'builtins' (built-in)>, <module 'sys' (built-in)>, <module 'importlib._bootstrap' (frozen)>, <module '_imp' (built-in)>, <module '_warnings' (built-in)>, <module '_thread' (built-in)>, <module '_weakref' (built-in)>, <module 'importlib._bootstrap_external' (frozen)>, <module 'io' (built-in)>, <modu le 'marshal' (built-in)>, <module 'nt' (built-in)>, <module 'winreg' (built-in)>, <module 'zipimport' (built-in)>, <module 'encodings' from 'C:\\Python36\\lib\\encodings\\__init__.py'>, <module 'codecs' from 'C:\\Python36\\lib\\codecs.py'>, <module '_codecs' (built-in)>, <module 'encodings.aliases' from 'C:\\Python36\\ lib\\encodings\\aliases.py'>, <module 'encodings.utf_8' from 'C:\\Python36\\lib\\encodings\\utf_8.py'>, <module '_signal' (built-in)>, <module '__main__' (built-in)>, <module 'encodings.latin_1' from 'C:\\Python36\\lib\\encodings\\latin_1.py'>, <module 'io' from 'C:\\Python36\\lib\\io.py'>, <module 'abc' from 'C:\\Pyth on36\\lib\\abc.py'>, <module '_weakrefset' from 'C:\\Python36\\lib\\_weakrefset.py'>, <module 'site' from 'C:\\Python36\\lib\\site.py'>, <module 'os' from 'C:\\Python36\\lib\\os.py'>, <module 'errno' (built-in)>, <module 'stat' from 'C:\\Python36\\lib\\stat.py'>, <module '_stat' (built-in)>, <module 'ntpath' from 'C:\\ Python36\\lib\\ntpath.py'>, <module 'genericpath' from 'C:\\Python36\\lib\\genericpath.py'>, <module 'ntpath' from 'C:\\Python36\\lib\\ntpath.py'>, <module '_collections_abc' from 'C:\\Python36\\lib\\_collections_abc.py'>, <module '_sitebuiltins' from 'C:\\Python36\\lib\\_sitebuiltins.py'>, <module 'sysconfig' from 'C: \\Python36\\lib\\sysconfig.py'>, <module '_bootlocale' from 'C:\\Python36\\lib\\_bootlocale.py'>, <module '_locale' (built-in)>, <module 'encodings.gbk' from 'C:\\Python36\\lib\\encodings\\gbk.py'>, <module '_codecs_cn' (built-in)>, <module '_multibytecodec' (built-in)>, <module 'types' from 'C:\\Python36\\lib\\types.p y'>, <module 'functools' from 'C:\\Python36\\lib\\functools.py'>, <module '_functools' (built-in)>, <module 'collections' from 'C:\\Python36\\lib\\collections\\__init__.py'>, <module 'operator' from 'C:\\Python36\\lib\\operator.py'>, <module '_operator' (built-in)>, <module 'keyword' from 'C:\\Python36\\lib\\keyword.py '>, <module 'heapq' from 'C:\\Python36\\lib\\heapq.py'>, <module '_heapq' (built-in)>, <module 'itertools' (built-in)>, <module 'reprlib' from 'C:\\Python36\\lib\\reprlib.py'>, <module '_collections' (built-in)>, <module 'weakref' from 'C:\\Python36\\lib\\weakref.py'>, <module 'collections.abc' from 'C:\\Python36\\lib\ \collections\\abc.py'>, <module 'importlib' from 'C:\\Python36\\lib\\importlib\\__init__.py'>, <module 'importlib._bootstrap' (frozen)>, <module 'importlib._bootstrap_external' (frozen)>, <module 'warnings' from 'C:\\Python36\\lib\\warnings.py'>, <module 'importlib.util' from 'C:\\Python36\\lib\\importlib\\util.py'>, < module 'importlib.abc' from 'C:\\Python36\\lib\\importlib\\abc.py'>, <module 'importlib.machinery' from 'C:\\Python36\\lib\\importlib\\machinery.py'>, <module 'contextlib' from 'C:\\Python36\\lib\\contextlib.py'>, <module 'zope' (namespace)>, <module 'atexit' (built-in)>])

9.??sys.stdout? ?/? sys.stdin? /? sys.stderr :

sys.stdout 標準輸出 ; sys.stdin 標準輸入;? sys.stderr 錯誤輸出

>>> import sys >>> sys.stdout <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> >>> sys.stdin <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'> >>> sys.stderr <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>

標準輸入:一般為鍵盤輸入,stdin對象為解釋器提供輸入字符流,一般使用input()函數

sys.stdin.readline()? ?? ???從標準輸入讀一行

import sysprint("Please input you name:") name = sys.stdin.readline() print(name)Please input you name: Xiao Ming #用戶輸入,然后Enter Xiao MingProcess finished with exit code 0

標準輸出:一般為屏幕。stdout對象接收到print語句產生的輸出,print調用 stdout 的 write方法

import syssys.stdout.write("123456\n") sys.stdout.flush()123456Process finished with exit code 0

?

10.?sys.getdefaultencoding() / sys.getfilesystemencoding() : #string

sys.getdefaultencoding() : 獲取解釋器默認編碼。?

sys.getfilesystemencoding() : 獲取內存數據存到文件里的默認編碼。
?

>>> import sys >>> sys.getdefaultencoding() 'utf-8' >>> sys.getdefaultencoding() 'utf-8'


二,OS——操作系統

使用?os?模塊為程序提供了一些可移植性。但并非所有的函數在每個平臺上都可用,?比如后文中提到的一些進程管理函數在 Windows 上就不可用。

Python 文檔中?os?模塊的的副標題是「各種各樣的操作系統接口」。模塊包含的大部分函數用于創建和管理進程或文件系統,例如:目錄與文件,此外還有一些其他函數。

?

1,os.listdir()? #list

查看特定目錄下加文件??

import os pp = 'C:/Users/HP/Desktop/文檔/Python/新建文件夾/text'dd = sorted(os.listdir(pp))print(dd) print(type(dd))['1.py', '2.py', 'test.py', 'text2.py'] <class 'list'>Process finished with exit code 0

2, os.walk()? ?#list

函數經過一個目錄時,會遞歸的訪問它的子目錄,并產生一個?tuple,其中包含了目錄路徑、該路徑下任何直接子目錄和指定目錄中所有文件名的列表。

import os pp = 'C:/Users/HP/Desktop/文檔/Python/新建文件夾'dd = sorted(os.walk(pp))print(dd) print(type(dd)) [('C:/Users/HP/Desktop/文檔/Python/新建文件夾', ['.idea', 'basis', 'crawal', 'CTF', 'sql', 'text', 'venv', '__pycache__'], []), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\.idea', ['codeStyles', 'dictionaries'], ['encodings.xml', 'misc.xml', 'modules.xml', 'workspace.xml', '新建文件夾.iml']), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\.idea\\codeStyles', [], ['codeStyleConfig.xml']), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\.idea\\dictionaries', [], ['HP.xml']), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\CTF', [], ['3位數字利用字典型爆破zip文件.py', 'ASCII偏移.py', 'ctf-cookie-欺騙.py', '凱撒密碼與base64結合.py', '利用 RGB 生成圖片.py', '杰斐遜轉盤解密.py', '混合進制轉化為字符.py']), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\__pycache__', [], []), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\basis', [], ['batterys.py', 'car.py', 'class_car_inherit.py', 'class_dog.py', 'dictionary_nest.py', 'ecar.py', 'file.py', 'function.py', 'function_any_number_.py', 'function_manyshican.py', 'input_filling_dictinary.py', 'input_filling_dictionary2.py', 'kong.py', 'my_car.py', 'while_continue.py', 'zidian.py', '__init__.py', '第幾天.py']), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\crawal', [], ['100次爬取用時.py', '__init__.py', '實例 一 爬取JD商品信息.py', '實例 七 淘寶商品信息爬取.py', '實例三 用爬蟲進行百度搜索.py', '實例二 爬取亞馬遜的商品信息.py', '實例五 ip地址查詢.py', '實例六爬取中國大學待命信息.py', '實例四 爬取圖片并保存.py']), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\sql', ['bool', 'time'], []), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\sql\\bool', [], ['bool_post.py', 'get_column_name.py', 'get_table_name.py']), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\sql\\time', [], ['time_get.py', 'time_post.py', 'X-F-F頭注入_columns_name.py', 'X-F-F頭注入_tables_name.py', 'X-F-F頭注入_z_dumps.py']), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\text', [], ['1.py', '2.py', 'test.py', 'text2.py']), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\venv', ['Include', 'Lib', 'Scripts'], ['pyvenv.cfg']), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\venv\\Include', [], []), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\venv\\Lib', ['site-packages'], []), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\venv\\Lib\\site-packages', [], []), ('C:/Users/HP/Desktop/文檔/Python/新建文件夾\\venv\\Scripts', [], ['activate', 'activate.bat', 'Activate.ps1', 'deactivate.bat'])] <class 'list'>

3,os.name? ? #str

顯示當前使用的平臺? ?win ->? nt??

import osprint(os.name)'nt'

4,os.getcwd()? ? ? ? #str

獲取當前腳本工作的絕對路徑

import os #pp = 'C:/Users/HP/Desktop/文檔/Python/新建文件夾/text'dd = os.getcwd() print(dd) print(type(dd))C:\Users\HP\Desktop\文檔\Python\新建文件夾\text <class 'str'>

5,?os.remove(‘filename’)

用于刪除指定路徑的文件。如果指定的路徑是一個目錄,將拋出OSError。強調必須是文件,而不是文件夾或者目錄

import osos.remove('C:\\Users\\HP\Desktop\\文檔\\Python\\新建文件夾\\text\\111.py')

6,os.makedirs(‘dirname/dirname’)

可生成多層遞規目錄? ? 注意 該命令只能用來生成文件夾 不能生成文件,如果文件夾已經存在會報錯

import osos.makedirs('C:/Users/HP\Desktop/文檔/Python/新建文件夾/text/fff/ddd')

7,os.rmdir(‘dirname’)

刪除單級目錄,如果不是空目錄會報錯,只能用來刪除空目錄

import osos.rmdir('C:/Users/HP\Desktop/文檔/Python/新建文件夾/text/fff/ddd')

8,os.rename(“oldname”,”newname”)

重命名文件?

import osos.rename('C:/Users/HP\Desktop/文檔/Python/新建文件夾/text/text4.py','C:/Users/HP\Desktop/文檔/Python/新建文件夾/text/text2.py')

9,os.system('filename')

運行shell命令,注意:這里是打開一個新的shell,運行命令,當命令結束后,關閉shell。用于打開文件或者程序,不能打開文件夾

10,os.environ

獲取系統環境變量

import osprint(os.environ) print(type(os.environ))

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的Python 中的 sys 库 和 os 库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。