[英]Can't I run file in temporary folder using subprocess?
我试图在下面使用此代码...
**subprocess.Popen('%USERPROFILE%\\AppData\\Local\\Temp\\AdobeARM - Copy.log').communicate()**
但我收到一条错误消息。 有没有人可以帮助您?
由于路径中有一个环境变量,因此您可以添加shell=True
以强制运行将评估env的批处理。 瓦尔:
subprocess.Popen('"%USERPROFILE%\\AppData\\Local\\Temp\\AdobeARM - Copy.log"',shell=True).communicate()
注意带引号的保护,因为有空格。 如果将包含一个元素的列表传递给Popen
,则也可以删除引号:
subprocess.Popen(['%USERPROFILE%\\AppData\\Local\\Temp\\AdobeARM - Copy.log'],shell=True).communicate()
另外,如果您只想激活日志文件的默认编辑器,则有一种更简单的方法(它不会阻塞执行脚本,因此略有不同):
p = os.path.join(os.getenv('USERPROFILE'),r"AppData\Local\Temp\AdobeARM - Copy.log")
os.startfile(p)
也许它甚至更简单,因为这可能是您要访问的临时目录:
p = os.path.join(os.getenv('TEMP'),r"AdobeARM - Copy.log")
os.startfile(p)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.