我正在尝试在相对位置打开文件:
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] 删除。
我来说两句