0

私は(試みている)ユーザー入力に基づいてファイルを開くツールを書こうとしています。最終的にスクリプトの結果をファイルに書き込み、入力ファイルと同じディレクトリに保存したいと思います。

私は現在これを持っています

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ディレクトリに正常に移動したことを示しています。さらに、ファイルは正しいフォルダーにあります。ただし、ファイルを開くことができません...提案をいただければ幸いです

4

2 に答える 2

1

うーん、検証が必要だと仮定すると、これはおそらくあなたを助けることができます:)

def open_files(**kwargs):
    arc = kwargs.get('file')
    if os.path.isfile(arc):
        arc_f = open(arc, 'r')
        lines = arc_f.readlines()
        for line in lines:
            print line.strip()

if __name__ == "__main__":
    p = raw_input("what is the path to the file (you can drag and drop):")
    open_files(file=p)
于 2013-03-04T05:04:56.740 に答える
1

これを試してファイルを開き、ファイルへのパスを取得します。

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
于 2013-03-04T07:04:18.110 に答える