如何在路径的末尾有效地解决前向或后向斜杠问题

时间:2017-07-27 05:34:36

标签: python

我正在尝试编写一个从用户获取路径位置的函数,并在该路径下创建一些文件或目录。

但是用户可以通过多种方式提供路径信息。像

  1. 的/ tmp
  2. 的/ tmp /
  3. C:\用户\
  4. C:\用户
  5. 我正在以下列方式在文件或目录中创建新文件

    data_file = path + "data_file" 
    fh = open(data_file, "w")
    

    但缺少正斜杠或后退斜杠有时会产生问题。所以我怎样才能在python中有效地处理这个问题。

2 个答案:

答案 0 :(得分:4)

使用操作系统模块添加路径

 os.path.join(path1,path2)

此模块负责操作系统,例如某些操作系统使用正斜杠或某些使用反斜杠。

在您的代码中

import os
data_file = os.path.join(path , "data_file") 
fh = open(data_file, "w")

答案 1 :(得分:0)

使用os模块,这样您就不必担心用户是使用Windows还是Linux。

import os
path = '/tmp/' # or '/tmp/' or 'C:\Users\' or 'C:\Users'
dir = os.path.dir(path)  # Won't have trouble with windows/linux or trailing slash 
data_file = os.path.join(dir, 'file.txt')
fh = open(data_file, 'w')