目前,我有一个程序可以从网络下载图像,并将其保存在 python 项目保存的同一目录中。
我正在使用
r=subprocess.Popen(["rundll32.exe","shimgvw.dll,ImageView_Fullscreen","C:\\pic.jpg"])
time.sleep(3)
r.kill()
查看图像,然后在一段时间后关闭它(这是必要的),但是当我将路径从“C:\\pic.jpg
”更改为“C:\Users\...\assignment1\pic.jpg
"我在路径中收到 unicode 错误,如果我将路径的开头更改为“C:\\
” (有两个斜杠,无法格式化 :( ),然后我没有收到错误,但文件就是打不开。
路径是否总是必须从 C:\引用,或者是否存在某种直接指向默认目录的流行语?
urlretrieve("%s?%s" % (url,parameters),"pic.jpg")
这是保存文件的方法,保存在默认目录
最佳答案
您收到的错误是由于字符串中的 \U
造成的,Python 尝试将其解释为 \Uxxxxxxxx
转义序列(其中 x
是 32 位 Unicode 序数的十六进制数字)。将第一个反斜杠加倍后遇到的问题可能与路径中稍后的其他转义序列有关(例如,\a
变成 ASCII“BEL”字符)。
您需要转义所有反斜杠,或者通过将路径设为“原始”字符串文字来告诉Python不要查找转义序列:r"C:\Users\。 ..\赋值1\pic.jpg"
关于python - 如何在子进程 Popen 中引用工作区中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25478232/