{"id":282,"date":"2025-03-02T08:05:21","date_gmt":"2025-03-02T08:05:21","guid":{"rendered":"https:\/\/news.techjunior.vn\/?p=282"},"modified":"2025-03-02T08:05:21","modified_gmt":"2025-03-02T08:05:21","slug":"xu-ly-tap-tin-trong-python-mot-huong-dan-co-ban","status":"publish","type":"post","link":"https:\/\/news.techjunior.vn\/?p=282","title":{"rendered":"X\u1eed l\u00fd T\u1eadp tin trong Python: M\u1ed9t H\u01b0\u1edbng D\u1eabn C\u01a1 B\u1ea3n"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"536\" src=\"https:\/\/news.techjunior.vn\/wp-content\/uploads\/2025\/03\/image-5-1024x536.png\" alt=\"\" class=\"wp-image-283\" srcset=\"https:\/\/news.techjunior.vn\/wp-content\/uploads\/2025\/03\/image-5-1024x536.png 1024w, https:\/\/news.techjunior.vn\/wp-content\/uploads\/2025\/03\/image-5-300x157.png 300w, https:\/\/news.techjunior.vn\/wp-content\/uploads\/2025\/03\/image-5-768x402.png 768w, https:\/\/news.techjunior.vn\/wp-content\/uploads\/2025\/03\/image-5-850x445.png 850w, https:\/\/news.techjunior.vn\/wp-content\/uploads\/2025\/03\/image-5.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Trong l\u1eadp tr\u00ecnh, x\u1eed l\u00fd t\u1eadp tin l\u00e0 m\u1ed9t trong nh\u1eefng k\u1ef9 n\u0103ng quan tr\u1ecdng m\u00e0 m\u1ed7i l\u1eadp tr\u00ecnh vi\u00ean c\u1ea7n n\u1eafm v\u1eefng. Python, v\u1edbi c\u00fa ph\u00e1p \u0111\u01a1n gi\u1ea3n v\u00e0 d\u1ec5 hi\u1ec3u, cung c\u1ea5p nhi\u1ec1u c\u00f4ng c\u1ee5 m\u1ea1nh m\u1ebd \u0111\u1ec3 l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c t\u1eadp tin. Trong b\u00e0i vi\u1ebft n\u00e0y, ch\u00fang ta s\u1ebd t\u00ecm hi\u1ec3u c\u00e1ch x\u1eed l\u00fd t\u1eadp tin trong Python, bao g\u1ed3m c\u00e1ch \u0111\u1ecdc, ghi v\u00e0 thao t\u00e1c v\u1edbi c\u00e1c t\u1eadp tin m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3, \u0111\u1eb7c bi\u1ec7t l\u00e0 c\u00e1ch s\u1eed d\u1ee5ng c\u00e2u l\u1ec7nh <code>with<\/code>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. M\u1edf T\u1eadp Tin (Open a File)<\/h4>\n\n\n\n<p>\u0110\u1ec3 l\u00e0m vi\u1ec7c v\u1edbi m\u1ed9t t\u1eadp tin, b\u1ea1n c\u1ea7n m\u1edf n\u00f3 tr\u01b0\u1edbc. Python cung c\u1ea5p h\u00e0m <code>open()<\/code> \u0111\u1ec3 th\u1ef1c hi\u1ec7n vi\u1ec7c n\u00e0y. H\u00e0m n\u00e0y nh\u1eadn v\u00e0o \u00edt nh\u1ea5t m\u1ed9t tham s\u1ed1: t\u00ean t\u1eadp tin, v\u00e0 t\u00f9y ch\u1ecdn c\u00f3 th\u1ec3 l\u00e0 ch\u1ebf \u0111\u1ed9 m\u1edf t\u1eadp tin.<\/p>\n\n\n\n<p>C\u00fa ph\u00e1p:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">f<code>ile = open('ten_tap_tin.txt', 'r')<br><\/code><\/pre>\n\n\n\n<p>Trong \u0111\u00f3:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>'r'<\/code>: Ch\u1ebf \u0111\u1ed9 \u0111\u1ecdc (Read). \u0110\u00e2y l\u00e0 ch\u1ebf \u0111\u1ed9 m\u1eb7c \u0111\u1ecbnh.<\/li>\n\n\n\n<li><code>'w'<\/code>: Ch\u1ebf \u0111\u1ed9 ghi (Write). N\u1ebfu t\u1eadp tin kh\u00f4ng t\u1ed3n t\u1ea1i, Python s\u1ebd t\u1ea1o ra m\u1ed9t t\u1eadp tin m\u1edbi. N\u1ebfu t\u1eadp tin \u0111\u00e3 t\u1ed3n t\u1ea1i, n\u00f3 s\u1ebd b\u1ecb ghi \u0111\u00e8.<\/li>\n\n\n\n<li><code>'a'<\/code>: Ch\u1ebf \u0111\u1ed9 th\u00eam (Append). D\u1eef li\u1ec7u s\u1ebd \u0111\u01b0\u1ee3c th\u00eam v\u00e0o cu\u1ed1i t\u1eadp tin n\u1ebfu t\u1eadp tin \u0111\u00e3 t\u1ed3n t\u1ea1i, n\u1ebfu kh\u00f4ng s\u1ebd t\u1ea1o m\u1edbi.<\/li>\n\n\n\n<li><code>'b'<\/code>: Ch\u1ebf \u0111\u1ed9 nh\u1ecb ph\u00e2n (Binary). S\u1eed d\u1ee5ng khi l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c t\u1eadp tin nh\u1ecb ph\u00e2n nh\u01b0 h\u00ecnh \u1ea3nh hay \u00e2m thanh.<\/li>\n\n\n\n<li><code>'x'<\/code>: Ch\u1ebf \u0111\u1ed9 t\u1ea1o m\u1edbi (Exclusive creation). N\u1ebfu t\u1eadp tin \u0111\u00e3 t\u1ed3n t\u1ea1i, h\u00e0m <code>open()<\/code> s\u1ebd b\u00e1o l\u1ed7i.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">2. \u0110\u1ecdc D\u1eef Li\u1ec7u T\u1eeb T\u1eadp Tin<\/h4>\n\n\n\n<p>Sau khi m\u1edf t\u1eadp tin, b\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ecdc d\u1eef li\u1ec7u t\u1eeb n\u00f3. Python cung c\u1ea5p m\u1ed9t s\u1ed1 ph\u01b0\u01a1ng th\u1ee9c \u0111\u1ec3 \u0111\u1ecdc d\u1eef li\u1ec7u t\u1eeb t\u1eadp tin:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>read()<\/code>: \u0110\u1ecdc to\u00e0n b\u1ed9 n\u1ed9i dung c\u1ee7a t\u1eadp tin.<\/li>\n\n\n\n<li><code>readline()<\/code>: \u0110\u1ecdc m\u1ed9t d\u00f2ng trong t\u1eadp tin.<\/li>\n\n\n\n<li><code>readlines()<\/code>: \u0110\u1ecdc t\u1ea5t c\u1ea3 c\u00e1c d\u00f2ng v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t danh s\u00e1ch.<\/li>\n<\/ul>\n\n\n\n<p>V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>file = open('ten_tap_tin.txt', 'r')<br>content = file.read()  # \u0110\u1ecdc to\u00e0n b\u1ed9 n\u1ed9i dung<br>print(content)<br>file.close()<br><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">3. Ghi D\u1eef Li\u1ec7u V\u00e0o T\u1eadp Tin<\/h4>\n\n\n\n<p>\u0110\u1ec3 ghi d\u1eef li\u1ec7u v\u00e0o t\u1eadp tin, b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng c\u00e1c ph\u01b0\u01a1ng th\u1ee9c <code>write()<\/code> ho\u1eb7c <code>writelines()<\/code>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>write()<\/code>: Ghi m\u1ed9t chu\u1ed7i v\u00e0o t\u1eadp tin.<\/li>\n\n\n\n<li><code>writelines()<\/code>: Ghi m\u1ed9t danh s\u00e1ch c\u00e1c chu\u1ed7i v\u00e0o t\u1eadp tin.<\/li>\n<\/ul>\n\n\n\n<p>V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>with open('ten_tap_tin.txt', 'w') as file:<br>    file.write(\"Hello, World!\\n\")<br>    file.write(\"Python file handling is easy.\")<br><\/code><\/pre>\n\n\n\n<p>L\u01b0u \u00fd: N\u1ebfu b\u1ea1n m\u1edf t\u1eadp tin v\u1edbi ch\u1ebf \u0111\u1ed9 <code>'w'<\/code>, n\u1ed9i dung tr\u01b0\u1edbc \u0111\u00f3 s\u1ebd b\u1ecb ghi \u0111\u00e8. N\u1ebfu b\u1ea1n mu\u1ed1n th\u00eam d\u1eef li\u1ec7u v\u00e0o cu\u1ed1i t\u1eadp tin m\u00e0 kh\u00f4ng l\u00e0m m\u1ea5t n\u1ed9i dung c\u0169, h\u00e3y s\u1eed d\u1ee5ng ch\u1ebf \u0111\u1ed9 <code>'a'<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>with open('ten_tap_tin.txt', 'a') as file:<br>    file.write(\"This is an appended line.\\n\")<br><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4. \u0110\u1ecdc v\u00e0 Ghi D\u1eef Li\u1ec7u Nh\u1ecb Ph\u00e2n<\/h4>\n\n\n\n<p>Khi l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c t\u1eadp tin nh\u1ecb ph\u00e2n, b\u1ea1n c\u1ea7n s\u1eed d\u1ee5ng ch\u1ebf \u0111\u1ed9 <code>'rb'<\/code> ho\u1eb7c <code>'wb'<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>'rb'<\/code>: \u0110\u1ecdc t\u1eadp tin nh\u1ecb ph\u00e2n.<\/li>\n\n\n\n<li><code>'wb'<\/code>: Ghi t\u1eadp tin nh\u1ecb ph\u00e2n.<\/li>\n<\/ul>\n\n\n\n<p>V\u00ed d\u1ee5 \u0111\u1ecdc m\u1ed9t h\u00ecnh \u1ea3nh:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>with open('image.jpg', 'rb') as file:<br>    data = file.read()<br><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">5. C\u00e1ch S\u1eed D\u1ee5ng C\u00fa Ph\u00e1p <code>with<\/code> \u0110\u1ec3 L\u00e0m Vi\u1ec7c V\u1edbi T\u1eadp Tin<\/h4>\n\n\n\n<p>C\u00fa ph\u00e1p <code>with<\/code> trong Python l\u00e0 m\u1ed9t c\u00e1ch r\u1ea5t hi\u1ec7u qu\u1ea3 \u0111\u1ec3 l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c t\u1eadp tin, gi\u00fap b\u1ea1n t\u1ef1 \u0111\u1ed9ng \u0111\u00f3ng t\u1eadp tin khi ho\u00e0n t\u1ea5t c\u00f4ng vi\u1ec7c m\u00e0 kh\u00f4ng c\u1ea7n ph\u1ea3i g\u1ecdi <code>file.close()<\/code>. C\u00fa ph\u00e1p n\u00e0y gi\u00fap tr\u00e1nh \u0111\u01b0\u1ee3c l\u1ed7i qu\u00ean \u0111\u00f3ng t\u1eadp tin, \u0111i\u1ec1u n\u00e0y r\u1ea5t quan tr\u1ecdng khi l\u00e0m vi\u1ec7c v\u1edbi nhi\u1ec1u t\u1eadp tin ho\u1eb7c v\u1edbi c\u00e1c t\u1eadp tin c\u00f3 k\u00edch th\u01b0\u1edbc l\u1edbn.<\/p>\n\n\n\n<p>C\u00fa ph\u00e1p s\u1eed d\u1ee5ng <code>with<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>with open('ten_tap_tin.txt', 'r') as file:<br>    content = file.read()<br>    print(content)<br><\/code><\/pre>\n\n\n\n<p>\u1ede v\u00ed d\u1ee5 tr\u00ean, <code>file<\/code> s\u1ebd \u0111\u01b0\u1ee3c t\u1ef1 \u0111\u1ed9ng \u0111\u00f3ng sau khi kh\u1ed1i <code>with<\/code> ho\u00e0n t\u1ea5t, ngay c\u1ea3 khi c\u00f3 l\u1ed7i x\u1ea3y ra trong qu\u00e1 tr\u00ecnh \u0111\u1ecdc t\u1eadp tin. \u0110i\u1ec1u n\u00e0y gi\u00fap m\u00e3 c\u1ee7a b\u1ea1n tr\u1edf n\u00ean s\u1ea1ch s\u1ebd v\u00e0 tr\u00e1nh \u0111\u01b0\u1ee3c r\u1ee7i ro v\u1ec1 vi\u1ec7c kh\u00f4ng \u0111\u00f3ng t\u1eadp tin \u0111\u00fang c\u00e1ch.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">6. X\u1eed L\u00fd Ngo\u1ea1i L\u1ec7 Khi L\u00e0m Vi\u1ec7c V\u1edbi T\u1eadp Tin<\/h4>\n\n\n\n<p>Khi l\u00e0m vi\u1ec7c v\u1edbi t\u1eadp tin, \u0111\u00f4i khi b\u1ea1n s\u1ebd g\u1eb7p l\u1ed7i nh\u01b0 kh\u00f4ng t\u00ecm th\u1ea5y t\u1eadp tin ho\u1eb7c kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp. \u0110\u1ec3 x\u1eed l\u00fd c\u00e1c l\u1ed7i n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng c\u00e1c kh\u1ed1i <code>try...except<\/code> k\u1ebft h\u1ee3p v\u1edbi <code>with<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>try:<br>    with open('ten_tap_tin.txt', 'r') as file:<br>        content = file.read()<br>        print(content)<br>except FileNotFoundError:<br>    print(\"T\u1eadp tin kh\u00f4ng t\u1ed3n t\u1ea1i!\")<br>except IOError:<br>    print(\"C\u00f3 l\u1ed7i khi \u0111\u1ecdc t\u1eadp tin!\")<br><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">7. \u0110\u00f3ng T\u1eadp Tin (Close a File)<\/h4>\n\n\n\n<p>Sau khi ho\u00e0n t\u1ea5t vi\u1ec7c x\u1eed l\u00fd t\u1eadp tin, b\u1ea1n n\u00ean \u0111\u00f3ng t\u1eadp tin \u0111\u1ec3 gi\u1ea3i ph\u00f3ng t\u00e0i nguy\u00ean. Khi s\u1eed d\u1ee5ng <code>with open()<\/code>, t\u1eadp tin s\u1ebd t\u1ef1 \u0111\u1ed9ng \u0111\u00f3ng khi tho\u00e1t kh\u1ecfi kh\u1ed1i l\u1ec7nh. Tuy nhi\u00ean, n\u1ebfu b\u1ea1n s\u1eed d\u1ee5ng <code>open()<\/code> tr\u1ef1c ti\u1ebfp, b\u1ea1n c\u1ea7n g\u1ecdi ph\u01b0\u01a1ng th\u1ee9c <code>close()<\/code> \u0111\u1ec3 \u0111\u00f3ng t\u1eadp tin.<\/p>\n\n\n\n<p>V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>file = open('ten_tap_tin.txt', 'r')<br>content = file.read()<br>file.close()  # \u0110\u00f3ng t\u1eadp tin sau khi ho\u00e0n th\u00e0nh c\u00f4ng vi\u1ec7c<br><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">8. M\u1ed9t S\u1ed1 L\u01b0u \u00dd Quan Tr\u1ecdng<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Lu\u00f4n \u0111\u00f3ng t\u1eadp tin sau khi ho\u00e0n th\u00e0nh c\u00f4ng vi\u1ec7c<\/strong>: \u0110i\u1ec1u n\u00e0y gi\u00fap tr\u00e1nh l\u00e3ng ph\u00ed t\u00e0i nguy\u00ean h\u1ec7 th\u1ed1ng v\u00e0 \u0111\u1ea3m b\u1ea3o r\u1eb1ng d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef ch\u00ednh x\u00e1c.<\/li>\n\n\n\n<li><strong>S\u1eed d\u1ee5ng <code>with<\/code> \u0111\u1ec3 m\u1edf t\u1eadp tin<\/strong>: \u0110\u00e2y l\u00e0 c\u00e1ch t\u1ed1t nh\u1ea5t \u0111\u1ec3 l\u00e0m vi\u1ec7c v\u1edbi t\u1eadp tin trong Python, v\u00ec n\u00f3 t\u1ef1 \u0111\u1ed9ng \u0111\u00f3ng t\u1eadp tin m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea1n ph\u1ea3i lo l\u1eafng.<\/li>\n\n\n\n<li><strong>Ch\u1ebf \u0111\u1ed9 m\u1edf t\u1eadp tin ph\u1ea3i ph\u00f9 h\u1ee3p v\u1edbi nhu c\u1ea7u<\/strong>: \u0110\u1ea3m b\u1ea3o b\u1ea1n ch\u1ecdn \u0111\u00fang ch\u1ebf \u0111\u1ed9 khi m\u1edf t\u1eadp tin \u0111\u1ec3 tr\u00e1nh m\u1ea5t m\u00e1t d\u1eef li\u1ec7u ho\u1eb7c g\u1eb7p ph\u1ea3i l\u1ed7i.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">K\u1ebft Lu\u1eadn<\/h3>\n\n\n\n<p>X\u1eed l\u00fd t\u1eadp tin l\u00e0 m\u1ed9t k\u1ef9 n\u0103ng c\u01a1 b\u1ea3n v\u00e0 quan tr\u1ecdng trong l\u1eadp tr\u00ecnh Python. B\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng c\u00e1c ph\u01b0\u01a1ng th\u1ee9c v\u00e0 ch\u1ebf \u0111\u1ed9 m\u1edf t\u1eadp tin \u0111\u00fang c\u00e1ch, b\u1ea1n c\u00f3 th\u1ec3 d\u1ec5 d\u00e0ng thao t\u00e1c v\u1edbi c\u00e1c t\u1eadp tin v\u0103n b\u1ea3n v\u00e0 t\u1eadp tin nh\u1ecb ph\u00e2n. \u0110\u1eb7c bi\u1ec7t, vi\u1ec7c s\u1eed d\u1ee5ng c\u00fa ph\u00e1p <code>with<\/code> khi l\u00e0m vi\u1ec7c v\u1edbi t\u1eadp tin s\u1ebd gi\u00fap m\u00e3 c\u1ee7a b\u1ea1n tr\u1edf n\u00ean s\u1ea1ch s\u1ebd, d\u1ec5 \u0111\u1ecdc v\u00e0 tr\u00e1nh \u0111\u01b0\u1ee3c c\u00e1c l\u1ed7i ti\u1ec1m \u1ea9n nh\u01b0 qu\u00ean \u0111\u00f3ng t\u1eadp tin.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Trong l\u1eadp tr\u00ecnh, x\u1eed l\u00fd t\u1eadp tin l\u00e0 m\u1ed9t trong nh\u1eefng k\u1ef9 n\u0103ng quan tr\u1ecdng m\u00e0 m\u1ed7i l\u1eadp tr\u00ecnh vi\u00ean c\u1ea7n n\u1eafm v\u1eefng. Python, v\u1edbi c\u00fa ph\u00e1p \u0111\u01a1n gi\u1ea3n v\u00e0 d\u1ec5 hi\u1ec3u,&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-282","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/news.techjunior.vn\/index.php?rest_route=\/wp\/v2\/posts\/282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/news.techjunior.vn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/news.techjunior.vn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/news.techjunior.vn\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/news.techjunior.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=282"}],"version-history":[{"count":1,"href":"https:\/\/news.techjunior.vn\/index.php?rest_route=\/wp\/v2\/posts\/282\/revisions"}],"predecessor-version":[{"id":284,"href":"https:\/\/news.techjunior.vn\/index.php?rest_route=\/wp\/v2\/posts\/282\/revisions\/284"}],"wp:attachment":[{"href":"https:\/\/news.techjunior.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news.techjunior.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news.techjunior.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}