我正在Windows中编写一个python脚本2.5,CurrentDir = C:\users\spring\projects\sw\demo\753\ver1.1\011\rev120\source
我的文件是test.py
。从这条路径我想访问此路径中的文件:C:\users\spring\projects\sw\demo\753\ver1.1\011\rev120\Common\
我尝试使用os.path.join
,但它不起作用,我从文档中了解原因。
那么什么才是最好的pythonic解决方案?
currentdir = os.getcwd()
config_file_path = os.path.join(currentdir,"\\..\\Common")
答案 0 :(得分:2)
from os.path import dirname, join
join(dirname(dirname(__file__)), 'Common')
应该有用。
答案 1 :(得分:2)
使用os.path.join
可以解决您的问题,但您没有正确使用它。
currentdir = os.getcwd()
config_file_path = os.path.join(currentdir,"\\..\\Common")
"\\..\\Common"
不是相对路径,因为它以\
开头。
您需要加入..\\Common
,这是一条相对路径。
请注意os.path.join
不是简单的字符串连接函数,您不需要插入中间的反斜杠。
所以固定的代码是:
config_file_path = os.path.join(currentdir,"..\\Common")
或者,或者:
config_file_path = os.path.join(currentdir, "..", "Common")
答案 2 :(得分:0)
试试这个:
joined = os.path.join('C:\\users\\spring\\projects\\sw\\demo\\753\\ver1.1\\011\\rev120\\source', '..\\Common\\')
# 'C:\\users\\spring\\projects\\sw\\demo\\753\\ver1.1\\011\\rev120\\source\\..\\Common\\'
canonical = os.path.realpath(joined)
# 'C:\\users\\spring\\projects\\sw\\demo\\753\\ver1.1\\011\\rev120\\Common'