所以我正在研究「學習python的難題」練習20,本課介紹了「seek()」函數來引用文件。在這種情況下,我們有:Python:尋求(0)和開放()基本上做同樣的事情?
def rewind(f):
f.seek(0)
創建一個函數來調用尋求(0),這意味着做一個參考點,在程序中使用的文件的開頭。現在,在幾節課中,我們已經分配了一個變量用於打開文件,在這種情況下,爲current_file = open(input_file)
。
我的問題是,是否使用seek從(0)開始打開文件與再次使用打開命令是一樣的,如open(current_file)
。有什麼區別?這裏是整個課程代碼:
from sys import argv
script, input_file = argv
def print_all(f):
print f.read()
def rewind(f):
f.seek(0)
def print_a_line(line_count, f):
print line_count, f.readline()
current_file = open(input_file)
print "First let's print the whole file:\n"
print_all(current_file)
print "Now let's rewind, kind of like a tape."
rewind(current_file)
print "Let's print three lines:"
current_line = 1
print_a_line(current_line, current_file)
current_line = current_line + 1
print_a_line(current_line, current_file)
current_line = current_line + 1
print_a_line(current_line, current_file)
Seek不打開文件,它倒帶當前文件。我確信這就是你的意思,但是_「使用seek從(0)開始打開文件」_是不同的。你能澄清嗎? – tdelaney
btw'open(...,「a」)'打開文件並將指針移動到文件的末尾,以便它查找'seek(0,2)' – furas
FYI:http://sopython.com/wiki/LPTHW_Complaints – jonrsharpe