电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Python學(xué)習(xí)之os模塊及用法

瀏覽:6日期:2022-07-23 09:21:05

os 模塊代表了程序所在的操作系統(tǒng),主要用于獲取程序運行所在操作系統(tǒng)的相關(guān)信息。

在 Python 的交互式解釋器中先導(dǎo)入 os 模塊,然后輸入 os.__all__ 命令(__all__ 變量代表了該模塊開放的公開接口),即可看到該模塊所包含的全部屬性和函數(shù)。

此處僅介紹 os 模塊中常用的屬性和函數(shù):

os.name:返回導(dǎo)入依賴模塊的操作系統(tǒng)名稱,通常可返回 ’posix’、’nt’、 ’java’ 等值其中之一。 os.environ:返回在當(dāng)前系統(tǒng)上所有環(huán)境變量組成的字典。 os.fsencode(filename):該函數(shù)對類路徑(path-like)的文件名進行編碼。 os.fsdecode(filename):該函數(shù)對類路徑(path-like)的文件名進行解碼。 os.PathLike:這是一個類,代表一個類路徑(path-like)對象。 os.getenv(key, default=None):獲取指定環(huán)境變量的值。 os.getlogin():返回當(dāng)前系統(tǒng)的登錄用戶名。與該函數(shù)對應(yīng)的還有 os.getuid()、os.getgroups()、os.getgid() 等函數(shù),用于獲取用戶 ID、用戶組、組 ID 等,這些函數(shù)通常只在 UNIX 系統(tǒng)上有效。 os.getpid():獲取當(dāng)前進程 ID。 os.getppid():獲取當(dāng)前進程的父進程 ID。 os.putenv(key, value):該函數(shù)用于設(shè)置環(huán)境變量。 os.cpu_count():返回當(dāng)前系統(tǒng)的 CPU 數(shù)量。 os.sep:返回路徑分隔符。 os.pathsep:返回當(dāng)前系統(tǒng)上多條路徑之間的分隔符。一般在 Windows 系統(tǒng)上多條路徑之間的分隔符是英文分號(;);在 UNIX 及類 UNIX 系統(tǒng)(如 Linux、Mac os X)上多條路徑之間的分隔符是英文冒號(:)。 os.linesep:返回當(dāng)前系統(tǒng)的換行符。一般在 Windows 系統(tǒng)上換行符是“rn”:在 UNIX 系統(tǒng)上換行符是“n”;在 Mac os X 系統(tǒng)上換行符是“r”。 os.urandom(size):返回適合作為加密使用的、最多由 N 個字節(jié)組成的 bytes 對象。該函數(shù)通過操作系統(tǒng)特定的隨機性來源返回隨機字節(jié),該隨機字節(jié)通常是不可預(yù)測的,因此適用于絕大部分加密場景。

下面程序示范了 os 模塊的大部分函數(shù)的用法:

import os# 顯示導(dǎo)入依賴模塊的操作系統(tǒng)的名稱print(os.name)# 獲取PYTHONPATH環(huán)境變量的值print(os.getenv(’PYTHONPATH’))# 返回當(dāng)前系統(tǒng)的登錄用戶名print(os.getlogin())# 獲取當(dāng)前進程IDprint(os.getpid())# 獲取當(dāng)前進程的父進程IDprint(os.getppid())# 返回當(dāng)前系統(tǒng)的CPU數(shù)量print(os.cpu_count())# 返回路徑分隔符print(os.sep)# 返回當(dāng)前系統(tǒng)的路徑分隔符print(os.pathsep)# 返回當(dāng)前系統(tǒng)的換行符print(os.linesep)# 返回適合作為加密使用的、最多3個字節(jié)組成的bytesprint(os.urandom(3))

運行上面程序,可以看到如下輸出結(jié)果:

ntNoneyeeku9904120368;

b’x12x1excf’

從上面的輸出結(jié)果可以看出,在 Windows 系統(tǒng)上 Python 導(dǎo)入依賴模塊的操作系統(tǒng)名稱為“nt”;當(dāng)前系統(tǒng)的登錄用戶名是“yeeku”:當(dāng)前進程 ID 為“9904”;當(dāng)前進程的父進程 ID 為“12036”;當(dāng)前系統(tǒng)上有 8 個 CPU;當(dāng)前系統(tǒng)(Windows)的路徑分隔符是“”;當(dāng)前系統(tǒng)(Windows)上多條路徑之間的分隔符是分號(;);但在當(dāng)前系統(tǒng)(Windows)上換行符不能明顯看到,這是因為當(dāng)在控制臺輸出“rn” 時才會產(chǎn)生兩個空行。

此外,在 os 模塊下還包含大量操作文件和目錄的功能函數(shù),本教程將會在后續(xù)章節(jié)專門介紹這些功能函數(shù)。

在 os 模塊下還包含各種進程管理函數(shù),它們可用于啟動新進程、中止己有進程等。在 os 模塊下與進程管理相關(guān)的函數(shù)如下:

os.abort():生成一個 SIGABRT 信號給當(dāng)前進程。在 UNIX 系統(tǒng)上,默認(rèn)行為是生成內(nèi)核轉(zhuǎn)儲;在 Windows 系統(tǒng)上,進程立即返回退出代碼 3。

os.execl(path, arg0, arg1, ...):該函數(shù)還有一系列功能類似的函數(shù),比如 os.execle()、os.execlp() 等,這些函數(shù)都是使用參數(shù)列表 arg0, arg1,...來執(zhí)行 path 所代表的執(zhí)行文件的。

os.forkpty():fork一個子進程。

os.kill(pid, sig):將 sig 信號發(fā)送到 pid 對應(yīng)的過程,用于結(jié)束該進程。

os.killpg(pgid, sig):將 sig 信號發(fā)送到 pgid 對應(yīng)的進程組。

os.popen(cmd, mode=’r’, buffering=-1):用于向 cmd 命令打開讀寫管道(當(dāng) mode 為 r 時為只讀管道,當(dāng) mode 為 rw 時為讀寫管道),buffering 緩沖參數(shù)與內(nèi)置的 open() 函數(shù)有相同的含義。該函數(shù)返回的文件對象用于讀寫字符串,而不是字節(jié)。

os.spawnl(mode, path, ...):該函數(shù)還有一系列功能類似的函數(shù),比如 os.spawnle()、os.spawnlp() 等,這些函數(shù)都用于在新進程中執(zhí)行新程序。

os.startfile(path[,operation]):對指定文件使用該文件關(guān)聯(lián)的工具執(zhí)行 operation 對應(yīng)的操作。如果不指定 operation 操作,則默認(rèn)執(zhí)行打開(open)操作。operation 參數(shù)必須是有效的命令行操作項目,比如 open(打開)、edit(編輯)、print(打印)等。

os.system(command):運行操作系統(tǒng)上的指定命令。

下面程序示范了在 os 模塊中與進程管理相關(guān)的函數(shù)的功能:

import os# 運行平臺上的cmd命令os.system(’cmd’)# 使用Excel打開g:abc.xls文件os.startfile(’g:abc.xls’)os.spawnl(os.P_NOWAIT, ’E:Tools編輯工具Notepad++.7.5.6.bin.x64notepad++.exe’, ’ ’)# 使用python命令執(zhí)行os_test.py程序os.execl('D:PythonPython36python.exe', ' ', ’os_test.py’, ’i’)

如果直接運行上面程序,可以看到程序運行后使用 Excel 打開了 abe.xls 文件,也打開了 Notepad++ 工具,還使用 python 命令運行了 os_test.py 文件。但如果將程序中粗體字代碼取消注釋,將看到程序運行后只是啟動了 cmd 命令行程序,這是因為使用 as.system() 函數(shù)來運行程序時,新程序所在的進程會替代原有的進程。

知識點補充:

os就是“operating system”的縮寫,顧名思義,os模塊提供的就是各種 Python 程序與操作系統(tǒng)進行交互的接口。通過使用os模塊,一方面可以方便地與操作系統(tǒng)進行交互,另一方面頁可以極大增強代碼的可移植性。如果該模塊中相關(guān)功能出錯,會拋出OSError異常或其子類異常。

注意

如果是讀寫文件的話,建議使用內(nèi)置函數(shù)open();

如果是路徑相關(guān)的操作,建議使用os的子模塊os.path;

如果要逐行讀取多個文件,建議使用fileinput模塊;

要創(chuàng)建臨時文件或路徑,建議使用tempfile模塊;

要進行更高級的文件和路徑操作則應(yīng)當(dāng)使用shutil模塊。

到此這篇關(guān)于Python學(xué)習(xí)之os模塊及用法的文章就介紹到這了,更多相關(guān)Python os模塊及用法內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | LHH药品稳定性试验箱-BPS系列恒温恒湿箱-意大利超低温冰箱-上海一恒科学仪器有限公司 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, | 搬运设备、起重设备、吊装设备—『龙海起重成套设备』 | 服务器之家 - 专注于服务器技术及软件下载分享 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | 【灵硕展览集团】展台展会设计_展览会展台搭建_展览展示设计一站式服务公司 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 威廉希尔WilliamHill·足球(中国)体育官方网站| 高压绝缘垫-红色配电房绝缘垫-绿色高压绝缘地毯-上海苏海电气 | 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 丝杆升降机-不锈钢丝杆升降机-非标定制丝杆升降机厂家-山东鑫光减速机有限公司 | 纯水设备_苏州皙全超纯水设备水处理设备生产厂家 | 中药二氧化硫测定仪,食品二氧化硫测定仪|俊腾百科 | 智慧食堂_食堂管理系统_食堂订餐_食堂消费系统—客易捷 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 医院专用门厂家报价-医用病房门尺寸大全-抗菌木门品牌推荐 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 防水接头-电缆防水接头-金属-电缆密封接头-不锈钢电缆接头 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 山东风淋室_201/304不锈钢风淋室净化设备厂家-盛之源风淋室厂家 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 船用泵,船用离心泵,船用喷射泵,泰州隆华船舶设备有限公司 | 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 沈阳液压泵_沈阳液压阀_沈阳液压站-沈阳海德太科液压设备有限公司 | 长城人品牌官网| 佛山市钱丰金属不锈钢蜂窝板定制厂家|不锈钢装饰线条|不锈钢屏风| 电梯装饰板|不锈钢蜂窝板不锈钢工艺板材厂家佛山市钱丰金属制品有限公司 | 不锈钢搅拌罐_高速搅拌罐厂家-无锡市凡格德化工装备科技有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 上海盐水喷雾试验机_两厢式冷热冲击试验箱-巨怡环试 | 贴片电容-贴片电阻-二三极管-国巨|三星|风华贴片电容代理商-深圳伟哲电子 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 广西资质代办_建筑资质代办_南宁资质代办理_新办、增项、升级-正明集团 | 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 | 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 没斑啦-专业的祛斑美白嫩肤知识网站-去斑经验分享 |