私のviews.pyファイルコード:
#!/usr/bin/python
from django.template import loader, RequestContext
from django.http import HttpResponse
#from skey import find_root_tags, count, sorting_list
from search.models import Keywords
from django.shortcuts import render_to_response as rr
def front_page(request):
if request.method == 'POST' :
from skey import find_root_tags, count, sorting_list
str1 = request.POST['word']
fo = open("/home/pooja/Desktop/xml.txt","r")
for i in range(count.__len__()):
file = fo.readline()
file = file.rstrip('\n')
find_root_tags(file,str1,i)
list.append((file,count[i]))
sorting_list(list)
for name, count1 in list:
s = Keywords(file_name=name,frequency_count=count1)
s.save()
fo.close()
list1 = Keywords.objects.all()
t = loader.get_template('search/results.html')
c = RequestContext({'list1':list1,
})
return HttpResponse(t.render(c))
else :
str1 = ''
list = []
template = loader.get_template('search/front_page.html')
c = RequestContext(request)
response = template.render(c)
return HttpResponse(response)
関数で送信している変数「file」にfind_root_tags(file,str1,i)
は、xmlファイルの名前が付いています。このファイルはデスクトップにあり、このコードはdjangoアプリのviews.pyファイルに記述されているため、そのファイルを開くことができません。xml.txtには、読み取ってから開く同様のファイル名が含まれているため、そのファイルを開くにはどうすればよいですか。つまり、ファイル引数を次のように送信するにはどうすればよいですか。
file1 = '/home/pooja/Desktop/<filename>'
ここで<filename>
は、変数に格納されている値に等しく、file
finallはそれを次のように呼び出すことができます。
find_root_tags(file1, str1, i)
////////////////////////////////////////////////// //////////////////////////////////////////
明確化:
1)xml.txtの読み取りコンテンツを保存していることがわかる変数「file」を参照してください。
2)xml.txtにはxmlファイル名が含まれています。views.pyファイルはdjangoアプリの一部であり、デスクトップに存在するため、これらのファイルを開くことができません。
3)私の質問は、ファイル名を含むファイル変数に絶対パスを追加して送信する方法です。これは次のとおりです。
'/home/pooja/Desktop/filename'
これを行うことにより、デスクトップに存在するファイルが開きます。