首页 > 解决方案 > 如何创建向文件添加扩展名的功能?

问题描述

我想创建一种方法来创建具有特定扩展名的文件。示例:我想创建test并添加扩展名.txt并将新文件放入/home/administrator.

import os
import shutil
import datetime
import glob
import time

class Item:
    def __init__(self, nom, path, date):
        self.nom = nom
        self.path = path
        self.date = date

class Dossier:

    def AjouterExtension(self, nom, extension):
        """classe qui va ajouter une extension a un fichier"""
        path = "/home/administrator"
        if not os.path.exists(path):
            os.makedirs(path)

        filename = nom + extension
        with open(os.path.join(path, filename), 'wb') as temp_file:
            temp_file.write()

mon_doc = Dossier()
mon_doc.AjouterExtension("test", "txt")

错误:

Traceback (most recent call last):
  File "/home/administrator/PycharmProjects/pythonProject6/main.py", line 40, in <module>
    mon_doc.AjouterExtension("test2", "txt")
  File "/home/administrator/PycharmProjects/pythonProject6/main.py", line 33, in AjouterExtension
    filename = '.'.join(nom, extension)
TypeError: join() takes exactly one argument (2 given)

您对我的代码的解决方案更新:

import os
import shutil
import datetime
import glob
import time


class Item:
    def __init__(self, nom, path, date):
        self.nom = nom
        self.path = path
        self.date = date









class Dossier:




        def AjouterExtension(self, nom, extension):
            """classe qui va ajouter une extension a un fichier"""
            path = "/home/administrator"
            if not os.path.exists(path):
                os.makedirs(path)

            filename = '.'.join(nom, extension)
            name = "{}.{}".format(filename, extension.lstrip("."))
            with open(path, "w") as fh:
                pass  # or work with fh to add some content


mon_doc = Dossier()
mon_doc.AjouterExtension("test2", "txt")

标签: pythonmkdir

解决方案


创建文件时,.为您的文件扩展名添加一个(感谢@Tim Roberts的评论

name = "{}.{}".format(filename, extension.lstrip("."))

您也可以创建一个空白文件

with open(path, "w") as fh:
    pass  # or work with fh to add some content

使用pathlib也非常愉快,并且可能有助于解决不寻常的路径要求


推荐阅读