خواندن داده ها از یک فایل
هنگام خواندن یک فایل متنی، جریان بایت ها به ترتیب یکی پس از دیگری وارد ورودی برنامه می شوند، بنابراین فایل دسترسی متوالی به داده ها را فراهم می کند. یعنی اگر نیاز به خواندن دهمین مقدار از فایل داریم، ابتدا باید 9 قبلی را بخوانیم.
خواندن یک خط از یک فایل به روش
readline()
اجازه می دهد تا اجرا شود. این روش بر روی یک متغیر فایل فراخوانی می شود.
Fin = open ("input.txt")
s = Fin.readline()
روشهای مختلفی را میتوان برای رشته خواندن اعمال کرد، مشابه روشهایی که هنگام خواندن از صفحه کلید استفاده میشود (split()
، map()
و غیره). به عنوان مثال، اگر دو عدد در یک خط از یک فایل با یک فاصله از هم جدا شده باشند، می توانید آنها را به صورت زیر بشمارید:
Fin = open ("input.txt")
s = Fin.readline().split() # split line در فضاهای s = ["2007"، "2021"]
a, b = map(int, s) # متد int() را برای همه عناصر لیست s اعمال کنید،
# یعنی رشته کاراکتر را به عدد تبدیل کنید
# a، b = int(s[0]، s[1]) # این همان خط بالا است
# a, b = [int(x) برای x در s] # مشابه یک مولد
متد read()
کل محتویات فایل را می خواند و رشته ای را برمی گرداند که ممکن است حاوی کاراکترهای '\n
' باشد. اگر یک پارامتر عدد صحیح به متد read()
داده شود، بیش از تعداد مشخص شده کاراکتر خوانده نخواهد شد. برای مثال، میتوانید بایت به بایت یک فایل را با استفاده از روش read(1)
بخوانید.
.
هنگامی که یک فایل باز می شود، اشاره گر که مکان فعلی فایل را تعیین می کند، در ابتدای فایل تنظیم می شود و هنگام خواندن، به موقعیت پس از خواندن داده ها منتقل می شود. هنگام نوشتن، اشاره گر به موقعیت آزاد بعدی منتقل می شود.