91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python基礎中os和數據結構是怎么樣的

發布時間:2021-12-04 16:34:48 來源:億速云 閱讀:133 作者:柒染 欄目:互聯網科技

Python基礎中os和數據結構是怎么樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

今天總結了下Python的基礎,發現還是有很多基礎需要鞏固,直接把學習的內容放上來。

>>> import os
得到當前的所在的路徑
>>> os.getcwd() '/root/test' 列出當前路徑所在的文件夾下的文件
>>> os.listdir(os.getcwd())
['a.py', 'redis_test.sql', 'cmdb_server.txt', 'a.sql', 'test.py', 'redis_test.txt', 'paramiko.pyc', 'cmdb_server.txt.bak', 'paramiko.py', 'requirements_add.txt', 'test.txt', 'opsmanage.tar.gz', 'test.sql']
返回當前的絕對路徑
>>> os.path.abspath('.') '/root/test' 得到當前路徑上一次的絕對路徑
>>> os.path.abspath('..') '/root' 把路徑分解為路徑和文件名
>>> os.path.split('/root/test/test.py')
('/root/test', 'test.py')

>>> os.path.split('.')
('', '.')
將路徑進行合并
>>> os.path.join('/root/test','test.py') '/root/test/test.py' 返回指定path的文件夾部分
>>> os.path.dirname('/root') '/' 返回當前path的文件夾
>>> os.path.dirname(os.getcwd()) '/root' 得到當前的路徑,和上面的可以互為印證
>>> os.getcwd() '/root/test' 返回path中的文件名
>>> os.path.basename('/root/test/test.py') 'test.py' 返回path中的子文件夾
>>> os.path.basename('/root/test') 'test' >>> os.path.basename('/root/test/') '' 得到文件或文件夾的最后修改時間
>>> os.path.getmtime('/root/test/test.py') 1521193690.4832795 得到文件或文件夾的大小,注意文件夾的部分得到的可能不是真實的大小,不是du -sh 類似的結果
>>> os.path.getsize('/root/test/test.py') 29 查看文件或者文件夾是否存在
>>> os.path.exists('/root/test/test.py') True >>> os.path.exists('/root/test/test.py22') False
一些路徑在不同操作平臺的表示
>>> os.sep '/' >>> os.extsep '.' >>> os.linesep '\n' >>> os.pathsep ':'
得到目錄下的文件
>>> os.listdir(os.getcwd())
['dict.py', 'sqlplan.py', 'deploy.pyc', 'task_manage.py', 'cron.py', 'mysql_manage.py', 'system_manage.pyc', 'cmdb.pyc', 'deploy.py', 'ansible.pyc', 'index.py', 'tuning.ini', 'cron.pyc', 'backup.pyc', 'mysql_manage.pyc', 'users.py', 'celeryHandle.py', 'assets.pyc', '__init__.pyc', 'ansible.py', '__init__.py', 'task_manage.pyc', 'cmdb.py', 'users.pyc', 'assets.py', 'system_manage.py', 'index.pyc', 'dict.pyc', 'backup.py']
對當前目錄下的文件存入列表
>>> lists=os.listdir(os.getcwd())
對列表進行排序
>>> lists.sort()
得到列表
>>> print(lists)
['__init__.py', '__init__.pyc', 'ansible.py', 'ansible.pyc', 'assets.py', 'assets.pyc', 'backup.py', 'backup.pyc', 'celeryHandle.py', 'cmdb.py', 'cmdb.pyc', 'cron.py', 'cron.pyc', 'deploy.py', 'deploy.pyc', 'dict.py', 'dict.pyc', 'index.py', 'index.pyc', 'mysql_manage.py', 'mysql_manage.pyc', 'sqlplan.py', 'system_manage.py', 'system_manage.pyc', 'task_manage.py', 'task_manage.pyc', 'tuning.ini', 'users.py', 'users.pyc']
sort按key的關鍵字進行升序排序,lambda的入參fn為lists列表的元素,獲取文件的最后修改時間,所以最終以文件時間從小到大排序
最后對lists元素,按文件修改時間大小從小到大排序
>>> lists.sort(key=lambda fn:os.path.getmtime(os.getcwd()+'/'+fn) )
>>> print(lists)
['__init__.py', 'deploy.py', 'cron.py', 'ansible.py', '__init__.pyc', 'cron.pyc', 'deploy.pyc', 'ansible.pyc', 'assets.py', 'assets.pyc', 'celeryHandle.py', 'sqlplan.py', 'tuning.ini', 'dict.py', 'dict.pyc', 'index.py', 'index.pyc', 'task_manage.py', 'task_manage.pyc', 'users.py', 'users.pyc', 'system_manage.py', 'system_manage.pyc', 'cmdb.py', 'cmdb.pyc', 'backup.py', 'backup.pyc', 'mysql_manage.py', 'mysql_manage.pyc']
得到文件的擴展名,如果輸入是文件夾,返回為空
>>> os.path.splitext(os.getcwd())
('/root/OpsManage-master/OpsManage/views', '')
>>> os.path.splitext('/root/OpsManage-master/OpsManage/views/task_manage.pyc')
('/root/OpsManage-master/OpsManage/views/task_manage', '.pyc')
列出當前目錄下所有的.py文件
>>> [x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1]=='.py']
['dict.py', 'sqlplan.py', 'task_manage.py', 'cron.py', 'mysql_manage.py', 'deploy.py', 'index.py', 'users.py', 'celeryHandle.py', 'ansible.py', '__init__.py', 'cmdb.py', 'assets.py', 'system_manage.py', 'backup.py']

數據結構操作

列表操作 >>> header=[1,2,3]
>>> dat=[3,2,1]
列表轉換為字典
>>> dict(zip(header,dat))
{1: 3, 2: 2, 3: 1}
運行操作系統命令,使用popen
>>> cmd='hostname' >>> os.popen(cmd)
<open file 'hostname', mode 'r' at 0x7f416e1d45d0>
>>> os.popen(cmd).read() 'dev01\n' 運行操作系統命令,使用commands,這個返回更豐富一些
>>> import commands
>>> commands.getstatusoutput('hostname')
(0, 'dev01')

列表的追加
>>> ll=['a','b','c','d']
>>> ll.append('jeanron100')
>>> print(ll)
['a', 'b', 'c', 'd', 'jeanron100']
判斷列表元素是否存在
>>> print ll.count('jeanron100') 1 >>> print ll.count('jeanron1000') 0 列表的組合,如果是兩個列表,效果就更清晰了
>>> ll.extend(['jeanron','jianrong'])
>>> print(ll)
['a', 'b', 'c', 'd', 'jeanron100', 'jeanron', 'jianrong']
刪除指定元素
>>> ll.remove('jeanron')
>>> print(ll)
['a', 'b', 'c', 'd', 'jeanron100', 'jianrong']
反向輸出列表元素
>>> ll.reverse()
>>> print(ll)
['jianrong', 'jeanron100', 'd', 'c', 'b', 'a']

列表排序
>>> ll.sort()
>>> print(ll)
['a', 'b', 'c', 'd', 'jeanron100', 'jianrong']
字典操作 >>> info={'name':'jeanron','age':33,'gender':'male'}
>>> print info.get('name')
jeanron
輸出字典的鍵值
>>> print info.keys()
['gender', 'age', 'name']
>>> print info.items()
[('gender', 'male'), ('age', 33), ('name', 'jeanron')]
以列表返回字典中的所有值
>>> print info.values()
['male', 33, 'jeanron']
集合操作 >>> info={'my','name','is','jeanron'}
>>> print info set(['jeanron', 'is', 'my', 'name'])
>>> test_info={'this','is','a','test'}
集合交集
>>> print info&test_info set(['is'])
合集
>>> print info.union(test_info) set(['a', 'name', 'this', 'is', 'jeanron', 'test', 'my'])
并集
>>> print info|test_info set(['a', 'name', 'this', 'is', 'jeanron', 'test', 'my'])

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武穴市| 新郑市| 顺义区| 富宁县| 泊头市| 大田县| 山东省| 礼泉县| 房产| 孟连| 福贡县| 裕民县| 新龙县| 沙坪坝区| 金门县| 丽水市| 镇宁| 绩溪县| 化隆| 烟台市| 密云县| 天峨县| 赤峰市| 偃师市| 楚雄市| 清河县| 铁岭县| 云阳县| 渝北区| 绥江县| 泸水县| 嘉峪关市| 屏边| 山西省| 绥化市| 横峰县| 新昌县| 无为县| 河津市| 翁牛特旗| 独山县|