我在python中有以下函数,可以将字典添加为行到pandas DF中,并在没有DF时创建第一个空DF。我使用os库,但是我想改用Pathlib,因为我与我们公司的软件开发人员进行了咨询,被告知这些问题应该使用pathlib而不是os.Path。(注意,我没有CS背景)
def myfunc(dictt,filename, folder='', extension='csv'):
if folder == '':
folder = os.getcwd(). #---> folder = Path.cwd()
filename = filename + '.' + 'csv'
total_file = os.path.join(folder,filename) #<--- this is what I don't get translated
# check if file exists, otherwise create it
if not os.path.isfile(total_file):#<----- if total file is a Path object: totalfile.exists()
df_empty = pd.DataFrame()
if extension=='csv':
df_empty.to_csv(total_file)
elif extension=='pal':
df_empty.to_pkl(total_file)
else:
#raise error
pass
# code to append the dict as row
# ...
首先,我不明白为什么路径库(pathlib)应该更好;其次,我不明白如何用路径库的符号表示法来实现上述提到的行,即如何使用路径库的符号(expressions)表示法来真正执行 os.path.join(folder_path, filename)。
在路径库中,似乎针对 Windows 和其他机器有不同的方法,也没有解释什么是 POSIX 路径(文档在此处here)。
有人可以帮我理解这两行内容吗? 欢迎分享使用路径库(pathlib)而不是 os.path 的见解。 谢谢