我正在尝试学习python,正在制作一个将输出脚本的程序。我想使用os.path.join,但是很困惑。根据文档,如果我说:
os.path.join('c:', 'sourcedir')
我懂了"C:sourcedir"。根据文档,这是正常的,对吗?
"C:sourcedir"
但是,当我使用copytree命令时,Python将以所需的方式输出它,例如:
import shutil src = os.path.join('c:', 'src') dst = os.path.join('c:', 'dst') shutil.copytree(src, dst)
这是我得到的错误代码:
WindowsError:[错误3]系统找不到指定的路径:'C:src /*.*'
如果我用换行os.path.join,os.path.normpath则会得到相同的错误。
os.path.join
os.path.normpath
如果os.path.join不能以这种方式使用它,那么我对其目的感到困惑。
根据Stack Overflow建议的页面,在连接中不应该使用斜杠-是的,我认为是正确的吗?
Windows具有每个驱动器的当前目录的概念。因此,"c:sourcedir"在当前C:目录中表示“ sourcedir”,并且您需要指定一个绝对目录。
"c:sourcedir"
这些中的任何一个都应该工作并给出相同的结果,但是目前我还没有启动Windows VM进行仔细检查:
"c:/sourcedir" os.path.join("/", "c:", "sourcedir") os.path.join("c:/", "sourcedir")