这是第一个代码
user = os.path.expanduser('~\AppData\Local\Temp')
os.path.exists(user,'\whatever.txt')
现在的问题是,当我运行它时说:
追踪(最近一次呼叫最后一次):
文件“pyshell#7”,第1行,在模块
中 os.path.exists(用户, '\ whatever.txt')TypeError:exists()正好为1 论证(给出2)
如何解决问题?
答案 0 :(得分:4)
使用os.path.join将两个路径片段连接在一起:
os.path.exists(os.path.join(user,'whatever.txt'))
请注意r'\whatever.txt'
是绝对路径,所以
os.path.join(user,r'\whatever.txt')
将返回r'\whatever.txt'
,忽略user
的值。
如果要在whatever.txt
目录中查找user
,则需要通过删除反斜杠来使用相对路径。
PS:Python为前缀为反斜杠的某些字符赋予特殊含义。例如,'\t'
是制表符。你通常不打算在路径中以这种方式解释反斜杠,所以 - 即使你的帖子中的所有反斜杠都是按字面解释的 - 一般来说养成使用原始字符串的习惯是个好主意(例如r'~\AppData\Local\Temp'
指定路径,以便以后不会出现意外的惊喜。或者,您可以改为使用正斜杠:'~/AppData/Local/Temp'
。