Python将文件写入用户inpu构建的目录

2024-04-26 23:29:12 发布

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

所以,我们有一个脚本,它在一开始有一些原始输入。通常,脚本将运行并在同一目录中创建新文件。我试图让它使用其中一个输入来创建一个新目录并在该目录中构建文件。在

import os
import sys
import socket
import struct

ri_name_input = raw_input("Enter the Name: ")

path = ri_name_input
if not os.path.exists(path):
    os.makedirs(path)

脚本本身从一些模板文件中读取,然后将我们在这些模板文件中查找的内容构建到一个新文件中。在

^{2}$

问题是,当我运行这个程序时,它正确地创建了目录(我注意到权限有点不稳定,但我必须处理它),它给出了以下错误:

Traceback (most recent call last):
  File "new_derper-2.py", line 260, in <module>
    with open('derp_s1_template.txt') as infile, open(path, 'derp_s1_config.txt', 'w') as outfile:
TypeError: an integer is required

关于我应该去哪里找有什么建议吗?在


Tags: 文件pathnameimport目录txt脚本模板
1条回答
网友
1楼 · 发布于 2024-04-26 23:29:12

open()函数不采用单独的路径和文件名,它只采用文件的路径。您需要将路径和文件名合并为一个字符串。在

import os

with open(os.path.join(path, 'derp_s1_config.txt'), 'w'):
    # ...

您得到的错误是因为^{}中的第三个可选参数用于指定缓冲区大小,并且需要一个整数。因为您最初指定了三个参数,所以它试图使用'w'作为缓冲区大小,这是一个类型不匹配。在

相关问题 更多 >