Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 验证用户输入的文件名_Python_Validation - Fatal编程技术网

Python 验证用户输入的文件名

Python 验证用户输入的文件名,python,validation,Python,Validation,我想验证用户输入的文件是否存在,但每次文件不存在时,都不会出现错误,但我得到的是一个回溯错误,而不是程序要求用户输入文件名egain。,因为您在输入时立即打开它;您没有给isfile函数运行的机会 在测试文件是否存在之前,您试图打开该文件 import os inF = open(input("Enter Filename: "),'r') fname = (inF) if os.path.isfile(fname): print("file does exist at this tim

我想验证用户输入的文件是否存在,但每次文件不存在时,都不会出现错误,但我得到的是一个回溯错误,而不是程序要求用户输入文件名egain。

,因为您在输入时立即打开它;您没有给
isfile
函数运行的机会

在测试文件是否存在之前,您试图打开该文件

import os
inF = open(input("Enter Filename: "),'r')
fname = (inF)
if os.path.isfile(fname):
    print("file does exist at this time")
else:
    print("no such file")
如果将文件包装在异常处理程序中,则立即打开该文件可能会很有效。它一步测试存在性和可读性

import os
import re

fname = input("Enter Filename: ")
if os.path.isfile(fname):
    print("file does exist at this time")
    print("words:", re.findall(r"\w+", open(fname).read()))
else:
    print("no such file")

如果必须打开文件对象并决定此文件是否存在。make
fname=inF.name
这将从inF对象获取文件名的名称

try:
    with open(input("Enter Filename: ")) as inF:
        print("file opened okay")
        print("Words:", re.findall(r"\w+", inF.read()))
except OSError as e:
    print("Failed", e)

错误是…什么?提示:
open
不返回文件名,因此
fname
也不是文件名。当我输入错误的文件名时,程序应该要求重新输入文件名,但它会给我一个回溯错误fname=input(“输入文件名:”),inF=open(fname,'r')这应该行得通是的…你第一次打字的时候就很清楚了。错误是什么?我想知道是否可以拆分打开的文本文件中的每个单词。我知道我必须使用.split()函数,但如何在中选择整个文本以便将其拆分?@johnsmith您必须先读取文件并将其存储在变量中,然后对该变量使用split()函数。.split()不会删除标点符号。我会用一种技术来更新答案。
import os
inF = open(input("Enter Filename: "),'r')
fname = inF.name
if os.path.isfile(fname):
    print("file does exist at this time")
else:
    print("no such file")