2017-05-16 10 views
-6

ユーザーが入力できる変数を使用してtxtファイルを作成したいが、以下のコードを使用すると、このコードは既存のファイルがある場合にのみ実行できると思うが、存在しないファイルを作成します。どのようにそれを行う上の任意のアイデアですか?パスを使用して新しいtxtファイルを開く方法

import os.path 

path ="~/Desktop/psp/student list" 

name_of_file = raw_input("What is the name of the file: ") 

completeName = os.path.join(save_path, name_of_file+".txt") 

f = open(completeName,'a') 

f.close() 
+0

デスクトップをご覧ください。フォルダ名を読み込みます。 – timgeb

+0

@timgebあなたは 'C:/ desktop/foldername'のようにする必要がありますか?またはどのように? –

+0

あなたは、(ファイルをそこに置くために)デスクトップ上のフォルダへのパスを決定したいとします。問題の内容を説明していないので、なぜあなたはそれに問題があるのか​​私たちの誰も知りません。 – timgeb

答えて

0

あなたのコードをテストしたところ、あなたのコードにはいくつかの問題があると思われます。

  1. 変数名:save_path - (する必要があります) - >パス: 単純に、2つの名前は同じである必要があります。
  2. 絶対パスは '/ Users ...'で始まる必要があります。 これは重要であるようです。

macを使用しているようですが、mac OSXの場合、パス文字列はこのようです。 /Users/<username>/Desktop/....

適切なコードはこのようになります。

import os.path 

path ="/Users/<your user name>/Desktop" 
#If deeper, path string should be longer. 

name_of_file = input("What is the name of the file: ") 
completeName = os.path.join(path, name_of_file+".txt") 

f = open(completeName,'a') 
f.close() 

このコードをmy macでテストしたところ、新しいファイル名または既存のファイル名で動作することが判明しました。 注意:Python3を使用し、inputはPython2のraw_inputに相当します。

関連する問題