用相对路径打开文件

d鱼

我正在尝试在相对位置打开文件:

import time, os
day=time.strftime("%Y%m%d")
month=time.strftime("%m")
filename=time.strftime("%Y%m%d")


logs_dir = os.path.dirname('C:\Users\user1\Desktop\folder\main\Logs') 
rel_path = '\'+month+'\'+filename+'.txt'
abs_file_path = os.path.join(script_dir, rel_path)
file = open(abs_file_path, 'r')

我无法正确使用变量和反斜杠来显示第二行。

用户名

\u在Python字符串文字中具有特殊含义;它表示一个Unicode字符。所以呢\f,它表示一个换页符。

您将需要使用原始字符串

logs_dir = os.path.dirname(r'C:\Users\user1\Desktop\folder\main\Logs')

或正斜杠:

logs_dir = os.path.dirname('C:/Users/user1/Desktop/folder/main/Logs')

为了防止Python如此解释它们。您还可以将每个反斜杠加倍:

logs_dir = os.path.dirname('C:\\Users\\user1\\Desktop\\folder\\main\\Logs')

但这很乏味。


另外,'\'由于字符串文字不能以单个结尾,因此您需要对每个斜杠加倍\但这不是一个非常可靠的解决方案。一种更好的构建路径的方法是使用os.path.join

rel_path = os.path.join('\\', month, filename + '.txt')

然后,你可以每天更换'\\'os.sep作为@helloV他回答说。这将确保您的代码在Windows和* nix系统上都创建外观正确的路径。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章