使用json创建路径并在其中添加文件?

2024-04-18 10:04:09 发布

您现在位置:Python中文网/ 问答频道 /正文

host = "html.com"
LNG = ENG, GED
input_folder = os.path.dirname(os.path.abspath(__file__))
output_folder = os.path.join(input_folder, 'output')
def get_filename(ext, base, sub_folder):
    filename = '{}.{}'.format(base, ext)
    return os.path.join(output_folder, sub_folder, filename)

subfolder = LNG + '\\' + host
ref_filename = get_filename('pcm', output_filename + '_ref', subfolder)
if not os.path.exists(ref_filename):
    os.makedirs(ref_filename)
with open(ref_filename, 'wb') as f_pcm:
    f_pcm.write(payload)

cur_filename = get_filename('pcm', output_filename, subfolder)
with open(cur_filename, 'wb') as f_pcm:
    f_pcm.write(payload)

我试图检查路径是否存在,如果它不存在,那么创建一个。我正在创建输出文件夹,然后像语言文件夹 ENG和GED。我正在其中创建另一个文件夹作为html.com. 后来我添加了json和pcm等文件。 在上面的代码中(我没有添加所有内容)。除了最后一步,一切都很顺利。你知道吗

它不是像这样添加文件_参考pcm. 它正在创建一个文件夹。 有人能告诉我哪里错了吗?你知道吗


Tags: path文件夹comrefhostoutputgetos
1条回答
网友
1楼 · 发布于 2024-04-18 10:04:09

你知道吗os.makedirs公司()将始终创建目录。这就是它的本意,所以这是预期的行为。当你给它一个文件名时,它会把它当作一个目录名来处理,并以此来创建它。将代码更改为以下内容:

def get_filename(ext, base, folder):
    filename = '{}.{}'.format(base, ext)
    return os.path.join( folder, filename)

output_folder = os.path.join( input_folder, 'output' )
subfolder = LNG + '\\' + host
output_folder = os.path.join( output_folder, subfolder )

if not os.path.exists(output_folder):
    os.makedirs(output_folder);

# do note that output_filename is not defined anywhere
ref_filename = get_filename('pcm', output_filename + '_ref', output_folder)
with open(ref_filename, 'ab') as f_pcm:
   f_pcm.write(payload)

上面的代码将首先创建目录路径,然后创建不存在的文件,或者打开已经存在的文件。你知道吗

我希望这有帮助。你知道吗

相关问题 更多 >