编程语言
首页 > 编程语言> > 在python中是否有一种方法可以将os.path操作用于不是您当前的操作系统?

在python中是否有一种方法可以将os.path操作用于不是您当前的操作系统?

作者:互联网

情况:我目前正在使用paramiko做一些花哨的sftp东西,经常发现自己编译远程文件的路径名.我认为可能有一种更聪明的方式来做到这一点.
问题:
python中是否有一种方法可以为不是当前操作系统的操作系统使用os.path操作?
我想最后能够去remotehost.os.path.“一些操作”

解决方法:

正如the docs顶部的大笔记所说:

Since different operating systems have different path name conventions, there are several versions of this module in the standard library. The os.path module is always the path module suitable for the operating system Python is running on, and therefore usable for local paths. However, you can also import and use the individual modules if you want to manipulate a path that is always in one of the different formats. They all have the same interface:

  • posixpath for UNIX-style paths
  • ntpath for Windows paths
  • macpath for old-style MacOS paths
  • os2emxpath for OS/2 EMX paths

显然像ntpath.lexists这样的东西不适用于POSIX系统,但是诸如join,basename等之类的东西会起作用.

如果您不知道远程服务器期望的格式,并且无法解决问题,那么posixpath通常是一个安全的选择. sftp和Paramiko的类似功能将始终处理POSIX路径;如果您使用的是ssh shell,cmd.exe和许多您想要运行的命令行工具(包括Python脚本)将能够在Windows上处理它们,OS / 2也是如此,当然旧式Mac甚至没有你可以使用的shell.

标签:python,operating-system,remote-access
来源: https://codeday.me/bug/20190825/1720706.html