Python(pycharm)在wind

1.0 首先了解Python中與pycharm,windows交互的模組(這二個模組可以避免出現路徑錯誤的問題) sys模組 (側重Python與pycharm交互) 提供的與路徑相關的方法有:

__file__               # 當前執行文件所在的絕對路徑  sys.path              # 當前執行文件下所有的路徑  sys.argv              # 當前執行文件所在的絕對路徑,列表的形式['絕對路徑']  sys.path.append(路徑)           # 添加路徑到當前的文件下

應用實例:一: 當start執行文件需要導入core文件夾下的模組時,路徑的拼接,需要sys模組, 但是首先還要介紹os模組 os模組 (側重Python與windows的交互)

os.path.abspath()     規範化路徑(重要 可以將不確定'/'與''路徑規範化)   # 規範的路徑:E:/text1/練習與測試2/05text路徑.py  os.path.dirname('E:/text1/練習與測試2/05text路徑.py')             # 獲取路徑: E:/text1/練習與測試2  os.path.basename('E:/text1/練習與測試2/05text路徑.py'))        # 獲取路徑: 05text路徑.py  os.path.join(path1,path2)                                                           # 路徑的拼接  os.path.exists(path)                                                                   # 判斷文件是否存在

應用實例一:

注:要想在start文件中執行server中的func_server方法,就必須將core的路勁添加到start文件中,當start文件路徑中存在 E:/text1/day32/demo6_file,才能通過導入core,找到server,引用其中的func_server方法;

import os  import sys    ori_path = __file__                                # E:/text1/day32/demo6_file/bin/start.py  path = os.path.dirname(ori_path)         # E:/text1/day32/demo6_file/bin  base_path = os.path.dirname(path)     # E:/text1/day32/demo6_file  sys.path.append(base_path)    from core import server  from core import client    server.func_server()

所有的這些操作都不會出現路徑的問題但是當我們判斷某個文件是否存在,或者要拼接文件的路徑時,就可能會遇到路徑出錯的問題. 2.0 ' / '斜杠與' '反斜杠 Python在windows下的標準路徑是:E:/text1/練習與測試2/05text路徑.py 分割符是斜杠' / ' ,但是仍然可以識別 反斜杠' ' 方法一: ' r ' 轉義

import sys  import os    print(__file__)     # E:/text1/練習與測試2/05text路徑.py  print(os.path.exists('E:/text1/練習與測試2/05text路徑.py'))              # True  print(os.path.exists('E:text1練習與測試25text路徑.py'))              # Flase  print(os.path.exists(r'E:text1練習與測試25text路徑.py'))             # True    path=os.path.abspath(r'E:text1練習與測試25text路徑.py')  print(path)                                                                                           # E:text1練習與測試25text路徑.py  print(os.path.exists(path))                                                                   # True

方法二: 路徑拼接時,os.path.abspath('') 規範路徑

path=os.path.join(r'E:text1練習與測試2','05text路徑.py')  new_path=os.path.abspath(path)  print(os.path.exists(new_path))

方法三: 添加擴展名(後綴名)

import sys  import os    head = {'filename': '1.EPIC**.mp4**',     # 加後綴名   (這不就是要知道文件的類型嗎?)          'filesize': None,          'filepath': r'C:UsersAdministratorDesktop英語Download倫敦街頭美食',          'file_name': None}    file_name = os.path.join(head['filepath'], head['filename'])  print(os.path.exists(file_name))  file_name = os.path.abspath(file_name)  print(os.path.exists(file_name))

注:這三種方法要結合的用 附: 常見的文件後綴(出處: https://jingyan.baidu.com/article/e3c78d64752db43c4c85f5fc.html?qq-pf-to=pcqq.group ) .AVI .mp4影像文件 .BAK 備份文件 .BAT DOS中的批處理文件 .BMP 點陣圖文件 .COM, .EXE 可執行的程式文件 .DLL 動態鏈接庫文件 .DOC Word字處理文檔 .DRV 設備驅動程式文件 .ICO 圖標文件 .INF 安裝資訊文件 .INI 系統配置文件 .CHM 已編譯的HTML幫助文件 .JPG 一種常用圖形文件 .MID MIDI音樂文件 .MDB Access資料庫文件 .RTF 豐富文本格式文件 .SCR 螢幕保護程式文件 .SYS 系統文件 .TTF TrueType字體文件 .TXT 文本文件 .XLS Excel電子表格文件 .WAV 波形文件 .HTM 用於WWW(World Wide Web)的超級文本文件