1. 程式人生 > >python全棧開發【補充】復習os模塊常用的一些操作

python全棧開發【補充】復習os模塊常用的一些操作

刪除 os.walk post 好用 更新 tor inux abs 結構

import os
# 1.切換路徑=============
d = os.getcwd()  #獲取當前的工作路徑
os.chdir(‘D:\\‘)#目錄的切換
print(os.getcwd())
# (切換過去怎麽回來呢?再chdir一下就回來了)
os.chdir(d)
print(os.getcwd())

# 2.執行系統命令=============
# system和popen都是執行系統命令的,但是popen比較好用,因為它有返回值
os.system(‘dir‘) #顯示的是gbk的編碼,
# 解決system亂碼的方法
ret = os.popen(‘dir‘)  #popen是有返回值的,而且自己轉碼了
print(ret.read())

# 3.創建文件夾=和創建文件==========
os.mkdir(‘temp‘)  #生成一個文件夾,,只能生成一個
os.mkdir(r‘temp2\inner‘)  #這樣就報錯了
os.makedirs(r‘temp1\inner‘,exist_ok=True)  #創建多級目錄
os.makedirs(r‘temp1\inner\inner2‘,exist_ok=True)  #創建多級目錄
# 那麽如果文件夾已經存在了,就報錯了,那我如果不想
# 讓報錯(就是假如存在,就不創建也不報錯),那麽就加上exist_ok=True

# 創建文件
f = open(r‘temp1\inner\file‘,‘w‘)
f.close()

# 4.======重命名文件夾=====
os.rename(r‘temp1\inner\inner2‘,‘temp1\inner\haiyan‘)

# 5.=====刪除文件夾和刪除文件=========
# 先刪文件,
os.remove(r‘temp1\inner\file‘)
# 再刪文件夾
os.removedirs(r‘temp1\inner\haiyan‘) #刪除一個文件夾的時候,如果上一級的文件夾是空的,就一並刪除了。以此類推
os.rmdir((r‘temp1\inner‘) )#只刪除一個文件夾

# 6.子目錄========
print(os.listdir(os.getcwd())) #打印當前目錄下的目錄
print(os.walk(os.getcwd())) #<generator object walk at 0x00000000021C6728>
ret = os.walk(os.getcwd()) #拿到的東西比較多,如果你關心子目錄下的東西,就用walk
print(list(ret))


# 7.====獲取文件或者目錄的信息的結構說明========
print(os.stat(‘temp‘))
# st_atime:上次訪問的時間
# st_mtime:最後一次修改的時間
# st_ctime:最新的更新時間
print(os.sep) # 打印的是print(os.getcwd())
file_path = ‘%s%s%s‘%(os.getcwd(),os.sep,‘filename‘)  #拼接一個路徑(方式一)
print(file_path)
print(os.path.join(os.getcwd(),‘filename‘))#拼接一個路徑(方式二)

# 8.====字符串指示當前使用平臺
print(os.name) #如果是win,則打印的是nt  如果是,linux,打印poxis
# 應用場景:當你輸入命令的時候,要判斷是win系統還是 linux系統。就可以用
# os.name去判斷了

# 9.===獲取系統環境變量=====
print(os.environ)

# 10.路徑相關的=======
print(os.path.abspath(‘namedtuple.py‘))
print(os.path.dirname(os.path.abspath(‘namedtuple.py‘)))
print(os.path.dirname(os.path.dirname(os.path.abspath(‘namedtuple.py‘))))
print(os.path.exists(os.path.abspath(‘namedtuple.py‘)))

  

python全棧開發【補充】復習os模塊常用的一些操作