[英]Run shell from python to open a file
嘗試使用 shell 打開文件:
os.system("G:\Folder\2. Cntry\ACCD.accdb")
拋出以下錯誤:
'G:\Folder.' is not recognized as an internal or external command,
可運行的程序或批處理文件。
但是,當我將"G:\Folder\2. Cntry\ACCD.accdb"
到 cmd 提示符中時,它確實打開了文件。
但使用:
os.system(r"G:\Folder\2. Cntry\ACCD.accdb")
返回:
'G:\Folder\2.' is not recognized as an internal or external command,
operable program or batch file.
我能怎么做?
由於反斜杠是 Python 中的轉義字符,您可以:
r"G:\Folder\2. Cntry\ACCD.accdb"
"G:/Folder/2. Cntry/ACCD.accdb"
"G:\\Folder\\2. Cntry\\ACCD.accdb"
它適用於任何子進程subprocess
。
使用os.system
您需要傳遞另外用單引號括起來的路徑:
import os
import subprocess
paths = (
[r"C:\Temp\2. Cntry\executer.exe", r'"C:\Temp\2. Cntry\executer.exe"'],
["C:/Temp/2. Cntry/executer.exe", '"C:/Temp/2. Cntry/executer.exe"'],
["C:\\Temp\\2. Cntry\\executer.exe", '"C://Temp//2. Cntry//executer.exe"'],
)
for p1, p2 in paths:
subprocess.call(p1)
os.system(p2)
出去:
Arguments passed:
C:\Temp\2. Cntry\executer.exe
done
Arguments passed:
C:\Temp\2. Cntry\executer.exe
done
Arguments passed:
C://Temp//2. Cntry//executer.exe
done
Arguments passed:
C://Temp//2. Cntry//executer.exe
done
Arguments passed:
C:\Temp\2. Cntry\executer.exe
done
Arguments passed:
C://Temp//2. Cntry//executer.exe
done
對於您的提示,請嘗試像這樣打開更改路徑,因為空間會導致 pb。
G:\Folder\"2. Cntry"\ACCD.accdb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.