Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.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 - Fatal编程技术网

如何在python中通过用户输入打开文件

如何在python中通过用户输入打开文件,python,Python,我正在(尝试)编写一个工具,可以根据用户输入打开一个文件。 我希望最终将脚本的结果写入一个文件,并将其存储到与输入文件相同的目录中 我现在有这个 from Bio import SeqIO import os, glob var = raw_input("what is the path to the file (you can drag and drop):") fname=var.rsplit("/")[-1] fpath = "/".join(var.rsplit("/")[:-1])

我正在(尝试)编写一个工具,可以根据用户输入打开一个文件。 我希望最终将脚本的结果写入一个文件,并将其存储到与输入文件相同的目录中

我现在有这个

from Bio import SeqIO
import os, glob


var = raw_input("what is the path to the file (you can drag and drop):")
fname=var.rsplit("/")[-1]
fpath = "/".join(var.rsplit("/")[:-1])

os.chdir(fpath)
#print os.getcwd()

#print fname
#for files in glob.glob("*"):
#    print files

with open(fname, "rU") as f:
    for line in f:
        print line
我不明白为什么我不能打开这个文件。“os.getcwd”和“glob.glob”部分都显示我成功地移动到了users目录。此外,该文件位于正确的文件夹中。但是,我无法打开该文件。。。
任何建议都将不胜感激

mmm如果您需要验证,这可能会帮助您:)


尝试以下操作以打开文件并获取文件的路径:

import os

def file_data_and_path(filename):
    if os.path.isfile(filename):
        path = os.path.dirname(filename)
        with open(filename,"rU") as f:
            lines = f.readlines()
        return lines,path
    else:
        print "Invalid File Path, File Doesn't exist"
        return None,None

msg = 'Absolute Path to file: '
f_name = raw_input(msg).strip()

lines,path = file_data_and_path(f_name)
if lines != None and path != None:
    for line in lines:
        print lines
    print 'Path:',path

为什么不执行
os.path.join(fname,fpath)
而不是当前使用
rsplit
s和
join
s进行的扭曲操作?为什么需要更改目录。如果您知道它存储在哪个目录中,只需打开(fpath+'/output.txt',w')或其他任何输出文件,您就需要查看此示例运行。在将原始输入
/home/user/test.txt
作为输入之后,它对我来说运行良好。尽管正如其他人所建议的,可能有更干净的方法来处理你正在做的事情。
import os

def file_data_and_path(filename):
    if os.path.isfile(filename):
        path = os.path.dirname(filename)
        with open(filename,"rU") as f:
            lines = f.readlines()
        return lines,path
    else:
        print "Invalid File Path, File Doesn't exist"
        return None,None

msg = 'Absolute Path to file: '
f_name = raw_input(msg).strip()

lines,path = file_data_and_path(f_name)
if lines != None and path != None:
    for line in lines:
        print lines
    print 'Path:',path