68

この関数は機能せず、エラーが発生します。引数やパラメータを変更する必要はありますか?

import sys

def write():
    print('Creating new text file') 

    name = input('Enter name of text file: ')+'.txt'  # Name of text file coerced with +.txt

    try:
        file = open(name,'r+')   # Trying to create a new file or open one
        file.close()

    except:
        print('Something went wrong! Can\'t tell what?')
        sys.exit(0) # quit Python

write()
4

7 に答える 7

114

ファイルが存在しない場合、open(name,'r+')失敗します。

を使用するopen(name, 'w')と、ファイルが存在しない場合にファイルが作成されますが、既存のファイルが切り捨てられます。

open(name, 'a')または、 ;を使用できます。これにより、ファイルが存在しない場合にファイルが作成されますが、既存のファイルは切り捨てられません。

于 2013-08-30T13:07:38.373 に答える
6

try-except ブロックを使用する代わりに、if else を使用できます

ファイルが存在しない場合、これは実行されません。open(name,'r+')

if os.path.exists('location\filename.txt'):
    print "File exists"

else:
   open("location\filename.txt", 'w')

「w」は、存在しない場合にファイルを作成します

于 2015-01-20T04:08:18.963 に答える
3

これは問題なく機能しますが、代わりに

name = input('Enter name of text file: ')+'.txt' 

あなたが使用する必要があります

name = raw_input('Enter name of text file: ')+'.txt'

一緒に

open(name,'a') or open(name,'w')
于 2015-01-13T07:25:51.550 に答える
1
import sys

def write():
    print('Creating new text file') 

    name = raw_input('Enter name of text file: ')+'.txt'  # Name of text file coerced with +.txt

    try:
        file = open(name,'a')   # Trying to create a new file or open one
        file.close()

    except:
        print('Something went wrong! Can\'t tell what?')
        sys.exit(0) # quit Python

write()

これは約束します:)

于 2015-03-06T02:47:45.290 に答える
1

簡単にするために os.system 関数を使用できます。

import os
os.system("touch filename.extension")

これにより、タスクを実行するためにシステム ターミナルが呼び出されます。

于 2016-01-11T04:50:37.643 に答える
0

使用できますopen(name, 'a')

ただし、ファイル名を入力するときは、両側に逆コンマを使用してください。そう".txt"しないと、ファイル名に追加できません

于 2014-06-10T08:01:09.573 に答える