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 回答
6

以下脚本将用于创建任何类型的文件,用户输入作为扩展名

import sys
def create():
    print("creating new  file")
    name=raw_input ("enter the name of file:")
    extension=raw_input ("enter extension of file:")
    try:
        name=name+"."+extension
        file=open(name,'a')

        file.close()
    except:
            print("error occured")
            sys.exit(0)

create()
于 2016-03-22T12:21:14.463 回答
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 回答