したがって、最初にいくつかの生の入力があるスクリプトがあります。通常、スクリプトは実行され、新しいファイルを同じディレクトリに作成します。私はそれが新しいディレクトリを作成し、そのディレクトリにファイルを構築するために入力の1つを使用するようにしようとしています。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)
スクリプト自体がいくつかのテンプレートファイルから読み込まれ、それらのテンプレートファイルから探しているものを新しいファイルに作成します。
with open('derp_s1_template.txt') as infile, open(path, 'derp_s1_config.txt', 'w') as outfile:
for line in infile:
for src, target in repl_derp_s1.iteritems():
line = line.replace(src, target)
outfile.write(line)
トラブルは、私がこれを実行すると、それが正しく(私は許可が少しグラグラしているに気づいた、が、私はその上で動作する必要があります)ディレクトリを作成し、それは私に次のエラーを与え、次のとおりです。
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
私はどこを見ているべきですか?
'open(path、 'derp_s1_config.txt'、 'w')'が間違っています。 'open(os.path.join(path、 'derp_s1_config.txt')、 'w')'を実行します。オプションのバッファリング引数はファイルの望ましいバッファサイズを指定します.0はバッファなし、1はバッファされた行、その他の正の値はバッファを使用することを意味します。 (およそ)そのサイズ(バイト単位)」 –
それはそれだった!ありがとう、トン! – DangerZone