python - 如何创建向文件添加扩展名的功能?
问题描述
我想创建一种方法来创建具有特定扩展名的文件。示例:我想创建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")
解决方案
创建文件时,.
为您的文件扩展名添加一个(感谢@Tim Roberts的评论)
name = "{}.{}".format(filename, extension.lstrip("."))
您也可以创建一个空白文件
with open(path, "w") as fh:
pass # or work with fh to add some content
使用pathlib也非常愉快,并且可能有助于解决不寻常的路径要求
推荐阅读
- java - spring aop配置在eclipse中不能正常工作
- html - 无法在网格 div 内将部分显示为 flex
- javascript - 在后台运行反应生命周期
- python - 添加小部件后,python kivy 应用程序停止运行(在 PC 上)
- javascript - 当我使用 onclick 按下图像时如何更改视频?
- php - 从一个数组中创建两个子数组并删除 PHP 中的原始键(以一种优雅的方式)
- android - 销毁后以静态方法重新启动基本活动?
- firebase - 没有为类型“列表”定义吸气剂“显示名称”
'。但是我已经定义了。有什么我做错了吗? - python - 如何使用循环存储数据
- javascript - 从文本数组中找到一个符号,如果下一个元素也是一个符号,则将它们都推入