您好,登錄后才能下訂單哦!
本篇內容介紹了“python 如何在右鍵菜單中加入復制目標文件的有效存放路徑(單斜杠或者雙反斜杠)”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在右鍵菜單中加入復制目標文件的有效存放路徑(單斜杠或者雙反斜杠)
由于win10電腦自帶的獲取文件路徑為雙引號括起來的單反斜杠,如下圖。
"D:\sankey.html"
但是在很多程序里讀取文件的時候,文件路徑中的反斜杠是會作為反編譯的特殊符號,所以無法直接讀取該路徑
例如在R語言中,讀取數據只能用斜杠"/",或者是雙反斜杠"\\"。
每次在R里讀表都很麻煩,要不只能手輸,要不用系統自帶的路徑,然后一個一個加反斜杠。
像我這么懶的人,對于這種機械式的操作是忍無可忍的。
于是開啟了復制文件路徑的改造之路。
下圖為成品:
get_path_1會返回雙反斜杠"\\“的路徑,
get_path_2會返回單斜杠”/"的路徑
代碼返回的是帶了雙引號的路徑,并且做了兩種類型的路徑,運行完后直接將結果復制到了系統的粘貼板。
pwd_1返回的是雙反斜杠路徑:
"D:\\files\\data.csv"
pwd_2返回的是單斜杠路徑:
"D:/files/data.csv"
# -*- coding: utf-8 -*- """ Created on Fri Sep 27 10:18:43 2019 author: Irvinfaith email: Irvinfaith@hotmail.com """ import sys import subprocess class get_pwd(): """ Main class to pass a path of target file to console. """ def __init__(self, path): self.path = path def pwd_1(self): """ Return path splits with double backslash. """ path_1 = self.path.replace('\\', '\\\\') return self.copy_to_clipboard(path_1) def pwd_2(self): """ Return path splits with slash. """ path_2 = self.path.replace('\\', '/') return self.copy_to_clipboard(path_2) def copy_to_clipboard(self, txt): """ Copy path and add double quote into clipboard. """ cmd = 'echo "' + txt.strip() + '"|clip' return subprocess.check_call(cmd, shell=True) if __name__ == '__main__': gp = get_pwd(sys.argv[2]) if sys.argv[1] == 'path_1': gp.pwd_1() elif sys.argv[1] == 'path_2': gp.pwd_2() else: pass
這里把腳本保存為 “getpwd.py”
然后打開cmd進入文件存放路徑測試運行
第一個參數“path_2”為所要獲取的路徑的類型,即為單斜杠路徑,第二個參數即為所需獲取有效路徑的文件。
運行后沒有任何報錯,說明該文件的有效路徑已經復制到你的粘貼板了。
隨便找個地方按ctrl+v測試一下,粘貼出來的結果如下:
"D:/sankey.html"
測試成功,開始改造右鍵菜單了。
因為有兩種路徑的類型,我是兩種都放進了右鍵菜單中,
所以需要兩份bat和reg文件,這里可以根據你的實際需要,根據你所需的路徑類型,輸入指定的參數保存文件就好了。
這里只展示其中一種參數為path_1作為示例,另外一個只是在bat文件中的執行參數對應改一下,reg文件中在右鍵菜單呈現的名字改一下,其他都一樣的。
在C:\Windows目錄中,新建空白文件輸入如下:
D:\software\anaconda\python.exe D:\getpwd.py path_1 %*
這里第一個參數D:\software\anaconda\python.exe是在系統中python的可執行程序
第二個參數D:\getpwd.py為腳本路徑
第三個參數path_1即為所要返回的文件路徑類型的參數
注意后面還有百分號和星號別漏了 %*
編輯完保存為“get_file_wd_path_1.bat”
在C:\Windows目錄中,新建空白文件輸入如下:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\get_path_1\command] @="get_file_wd_path_1.bat \"%1\""
其中第二行的get_path_1為在右鍵菜單中所展示的文字
第三行的"get_file_wd_path_1.bat"為.bat文件的名稱
其他的都不動照搬復制。
編輯完保存"get_file_wd_path_1.reg"
雙擊運行剛保存的"get_file_wd_path_1.reg",點擊“是”
大功告成。
這時候隨便對準一個文件點右鍵,會發現多了一個選項,點擊后就能獲取到該文件的有效路徑了,直接粘貼到代碼中就可以了。
注:點擊后會跳出python的運行窗口,需等執行窗口自動關閉后,粘貼板上才有已復制好的路徑。
ps:python 添加絕對路徑時用反斜杠和正斜杠的區別
#使用絕對路徑 雙反斜杠 with open('E:\\use\\data.txt') as file_object: contents = file_object.read() print(contents.rstrip()) #使用絕對路徑 正斜杠 with open('E:/use/data.txt') as file_object: contents = file_object.read() print(contents.rstrip())
總結
“python 如何在右鍵菜單中加入復制目標文件的有效存放路徑(單斜杠或者雙反斜杠)”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。