我有一个Python 3 test.py
脚本,其中创建了一些数据,我想将其保存到具有用户定义名称的文件,例如data.csv
。此脚本所在的文件夹中包含/Results
文件夹。我想要做的是在Results
内创建一个子文件夹,其中包含当前脚本的名称,并将我的文件存储在其中。所以,我想要的是我的文件存储在./Results/test/data.csv
中。我想要创建这些文件夹,如果它们以前不存在,如果它们确实存在,那么我希望data.csv
被替换。我希望这适用于任何操作系统。应该怎么做“pythonically”?
~/
test.py
Results/
test/
data.csv
这是一个测试代码,其中data.csv
未保存在我想要的位置。我该如何编辑?
import pandas as pd
filename = "data.csv"
df = pd.DataFrame([1,2,3])
df.to_csv(filename)
答案 0 :(得分:0)
我会用:
import platform
import os
if platform.system().lower() == 'windows':
print("%s" % os.path.expandvars("%USERPROFILE%"))
elif platform.system().lower() == 'posix':
print("%s" % os.path.expandvars("$PATH")) #or some other posix var like USER...
else:
print("What the heck type of os is this?!?")
我认为this也可能对您有用。
答案 1 :(得分:0)
您可以使用os.path
模块进行一系列文件夹检查,并在不存在的情况下创建文件夹。然后,您可以使用__file__
属性访问当前文件名。
import os.path
import pandas as pd
file_name = os.path.splitext(os.path.basename(os.path.realpath(__file__)))[0]
full_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "Results")
if not os.path.exists(full_path):
os.mkdir(full_path)
if not os.path.exists(os.path.join(full_path, file_name)):
os.mkdir(os.path.join(full_path, file_name))
file_location = os.path.join(full_path, file_name, 'data.csv')
df = pd.DataFrame([1, 2, 3])
df.to_csv(file_location)