Hướng dẫn os path trong python

Hướng dẫn cách nối đường dẫn trong python. Bạn sẽ học được cách nối đường dẫn từ tên file và thư mục trong python bằng hàm os.path.join() hoặc dùng lệnh lấy ký tự phân tách os.sep trong python sau bài học này.

Nối đường dẫn trong python | os.path.join()

Chúng ta dùng hàm os.path.join() để nối đường dẫn trong python với cú pháp sau đây:

os.path.join(paths)

Trong đó paths là tập hợp tên file và thư mục con dùng để nối và tạo nên đường dẫn cần tạo.

Sau khi chạy hàm, một đường dẫn được tạo ra, với các phần tử (tên file và thư mục con) được nối với nhau bởi dấu phân cách đường dẫn.

Ví dụ:

import os 

path = os.path.join('dir', 'subdir', 'filename.ext')
print(path)

Lưu ý là os.path.join() có tác dụng tạo ra đường dẫn kết quả từ các đối số chỉ định trong nó, chứ không có tác dụng kiểm tra đường dẫn được tạo có chính xác, hay có tồn tại hay không.

Để kiểm tra đường dẫn vừa tạo có tồn tại hay không, chúng ta cần sử dụng kết hợp các hàm trong bài viết dưới đây:

  • Xem thêm: Kiểm tra tồn tại của file và thư mục trong python

Ứng dụng của os.path.join() trong python

Lấy danh sách đường dẫn file trong thư mục python

Ứng dụng hàm os.path.join() và hàm os.listdir(), chúng ta có thể lấy danh sách đường dẫn file trong thư mục python như sau:

import os

path = './user/'
filelist = os.listdir(path)

for f in filelist:
print(os.path.join(path, f))




Trong ví dụ trên, các tên file và thư mục có trong thư mục user sẽ được lần lượt kết hợp với đường dẫn của thư mục, để tạo nên tên file có trong thư mục mẹ.

  • Xem thêm:Lấy danh sách tên file và thư mục trong python

Kiểm tra đường dẫn là file hay thư mục trong python

Chúng ta cũng có thể kết hợp os.path.join() và hàm os.path.isfile() hay os.path.isdir() để kiểm tra đường dẫn là file hay thư mục trong python như sau:

import os

path = './user/'
filelist = os.listdir(path)

for f in filelist:
path= os.path.join(path, f)
print(path)
if os.path.isfile(path):
print("File")
elif os.path.isdir(path):
print("Folder")
else:
pass






  • Xem thêm: Kiểm tra tồn tại của file và thư mục trong python

Nối đường dẫn trong python | os.sep

os.sep hoặc os.path.sep là lệnh để lấy ký tự dấu phân tách trong hệ điều hành chạy Python. Ký tự phân tách này có thể là / trong macOS hoặc Unix, hay là \n hoặc ¥ trong Windows.

Bằng cách sử dụng os.sep với toán tử cộng +, chúng ta có thể nối các thành phần tạo đường dẫn trong python và tạo ra đường dẫn đó, với cú pháp sau đây:

path = str1 + os.sep + str2 + os.sep + str3…

Trong đó os.sep để lấy ký tự phân tách trong hệ điều hành, và str là các tên file và thư mục con dùng để nối và tạo nên đường dẫn.
Ví dụ:

import os

path = os.path.join('dir', 'subdir', 'filename.ext')
path = 'dir' + os.sep + 'subdir' + os.sep + 'filename.ext'
print(path)

Sau khi nối đường dẫn trong python bằng os.sep rồi, bạn có thể ứng dụng và viết thêm các lệnh khác tương tự như hàm os.path.join() ở trên.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách nối đường dẫn trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a>&nbsp;và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js"></script></p><h3 style="font-size:15px">Bài viết liên quan</h3><ul class="popular-posts"><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/cach-doi-ten-file-trong-python/" title="Đổi tên file trong Python" rel="bookmark">Đổi tên file trong Python</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/copy-file-trong-python/" title="Cách copy file trong python" rel="bookmark">Cách copy file trong python</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/di-chuyen-file-trong-python/" title="Cách di chuyển file trong python" rel="bookmark">Cách di chuyển file trong python</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/doc-file-trong-python/" title="Đọc file trong python" rel="bookmark">Đọc file trong python</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/kiem-tra-ton-tai-cua-file-thu-muc-trong-python/" title="Kiểm tra tồn tại của file và thư mục trong python" rel="bookmark">Kiểm tra tồn tại của file và thư mục trong python</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/lay-danh-sach-ten-file-va-thu-muc-trong-python/" title="Lấy danh sách tên file và thư mục trong python" rel="bookmark">Lấy danh sách tên file và thư mục trong python</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/lay-danh-sach-ten-file-va-thu-muc-theo-dieu-kien-trong-python/" title="Lấy danh sách tên file và thư mục theo điều kiện trong python" rel="bookmark">Lấy danh sách tên file và thư mục theo điều kiện trong python</a></h3></div></li><li class="popular-posts-item"><div class="popular-posts-title"><h3><a target="_blank" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/doi-ten-thu-muc-trong-python/" title="Cách đổi tên thư mục trong python" rel="bookmark">Cách đổi tên thư mục trong python</a></h3></div></li></ul></div><div id="keugoi"><span>Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!</span></div><section class="icon-bar-2" style="border-bottom:dotted grey .3px!important"><a target="_blank" title="chia sẻ qua facebook" rel="noopener noreferrer" href="https://www.facebook.com/sharer/sharer.php?u=https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/noi-duong-dan-trong-python/" class="facebook"><i class="fa fa-facebook"></i></a> <a target="_blank" rel="noopener noreferrer" href="https://twitter.com/intent/tweet?url=https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/noi-duong-dan-trong-python/" title="chia sẻ qua twitter" class="twitter"><i class="fa fa-twitter"></i></a> <a target="_blank" rel="noopener noreferrer" href="https://getpocket.com/edit?url=https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/noi-duong-dan-trong-python/" title="chia sẻ qua pocket" class="pocket"><i class="fa fa-get-pocket"></i></a> <span class="zalo-share-button" title="chia sẻ qua zalo" style="margin-left:18px;margin-bottom:-3px" data-href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/noi-duong-dan-trong-python/" data-oaid="579745863508352884" data-layout="3" data-color="blue" data-customize="false"></span></section><p class="ico-folder"><a target="_blank" href="https://laptrinhcanban.com/"><span itemprop="HOME">HOME</span></a><span class="sya"></span>&gt;&gt; <a target="_blank" class="article-category-link" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/">python cơ bản - lập trình python cho người mới bắt đầu</a>&gt;&gt;<a target="_blank" class="article-category-link" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/">16. xử lý file trong python</a></p><nav id="article-nav"><a target="_blank" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/lay-kich-thuoc-file-va-thu-muc-trong-python/" id="article-nav-older" class="article-nav-link-wrap" style="float:left;text-align:right;padding-right:20px"><strong class="article-nav-caption">Bài sau</strong><div class="article-nav-title">Lấy kích thước file và thư mục trong python</div></a><a target="_blank" href="https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/csv-excel-json-xml-pdf/doc-file-csv-trong-python/" id="article-nav-newer" class="article-nav-link-wrap" style="float:right;text-align:left;padding-left:20px"><strong class="article-nav-caption">Bài tiếp</strong><div class="article-nav-title">Đọc file csv trong python</div></a><span id="ezoic-pub-ad-placeholder-611" class="ezoic-adpicker-ad"></span></nav><div id="recent_posts_down"><div class="widget_athemes_tabs"><ul id="widget-tab" class="clearfix widget-tab-nav"><li class="active">Bài viết mới nhất</li></ul><div class="widget"><ul><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/math-object-trong-javascript/lam-tron-so-trong-javascript/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban46.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/math-object-trong-javascript/lam-tron-so-trong-javascript/">Làm tròn số trong JavaScript (Math.round, Math.ceil, Math.floor)</a></span> <span>tháng 7 1, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/math-object-trong-javascript/so-mu-trong-javascript/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban45.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/math-object-trong-javascript/so-mu-trong-javascript/">Số mũ trong JavaScript (Math.pow, Math.exp)</a></span> <span>tháng 7 1, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/math-object-trong-javascript/math-max-math-min-trong-javascript/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban44.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/math-object-trong-javascript/math-max-math-min-trong-javascript/">Math.max và Math.min trong JavaScript</a></span> <span>tháng 7 1, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/math-object-trong-javascript/math-random-trong-javascript/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban43.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/math-object-trong-javascript/math-random-trong-javascript/">Math.random trong JavaScript</a></span> <span>tháng 7 1, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/xu-ly-ngoai-le-trong-javascript/throw-trong-javascript/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban42.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/xu-ly-ngoai-le-trong-javascript/throw-trong-javascript/">throw trong JavaScript và cách trả về ngoại lệ tuỳ ý</a></span> <span>tháng 7 1, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/xu-ly-ngoai-le-trong-javascript/cac-ngoai-le-trong-javascript-va-cach-xu-ly/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban41.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/xu-ly-ngoai-le-trong-javascript/cac-ngoai-le-trong-javascript-va-cach-xu-ly/">Các ngoại lệ trong JavaScript và cách xử lý tương ứng</a></span> <span>tháng 7 1, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/xu-ly-ngoai-le-trong-javascript/try-catch-trong-javascript/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban40.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/xu-ly-ngoai-le-trong-javascript/try-catch-trong-javascript/">try...catch trong JavaScript và cách xử lý ngoại lệ</a></span> <span>tháng 7 1, 2022</span></div></li><li class="clearfix"><div class="widget-entry-thumbnail"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/xu-ly-ngoai-le-trong-javascript/xu-ly-ngoai-le-cua-ham-xu-ly-mo-ta-trong-khoi-try/"><img width="60px" height="60px" class="ezlazyload attachment-thumb-small size-thumb-small wp-post-image" alt="" ezimgfmt="rs rscb2 src ng ngcb2" data-ezsrc="/css/images/thumbnail_img/laptrinhcanban39.webp"></a></div><div class="widget-entry-summary"><span style="margin:0"><a target="_blank" href="https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/xu-ly-ngoai-le-trong-javascript/xu-ly-ngoai-le-cua-ham-xu-ly-mo-ta-trong-khoi-try/">Xử lý ngoại lệ của hàm xử lý mô tả trong khối try</a></span> <span>tháng 7 1, 2022</span></div></li></ul></div></div></div><footer class="entry-meta entry-footer"></footer><hr class="entry-footer-hr"></div><span class="ezoic-autoinsert-ad ezoic-longest_content"></span><span style="clear:both;display:block" id="ez-clearholder-leader-1"></span><span class="ezoic-ad ezoic-at-0 leader-1 leader-1560 adtester-container adtester-container-560" data-ez-name="laptrinhcanban_com-leader-1"><span id="div-gpt-ad-laptrinhcanban_com-leader-1-0" ezaw="300" ezah="250" style="position:relative;z-index:0;display:inline-block;padding:0;min-height:250px;min-width:300px" class="ezoic-ad"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none">if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'laptrinhcanban_com-leader-1','ezslot_13',560,'0','0'])};if(typeof __ez_fad_position != 'undefined'){__ez_fad_position('div-gpt-ad-laptrinhcanban_com-leader-1-0')};</script></span></span><div id="profiletitle2">Profile</div><div id="profileblock2"><div id="profilephoto2"><a target="_blank" rel="noopener" href="https://www.facebook.com/mr.nchita"><img width="100" height="100" alt="きよしです!笑" ezimgfmt="rs rscb2 src ng ngcb2" class="ezlazyload" data-ezsrc="/css/images/kiyoshi.webp"></a></div><div id="profiletext2"><p>Tác giả : <a href="https://www.facebook.com/mr.nchita" target="_blank" rel="nofollow noopener">Kiyoshi (Chis Thanh)</a></p><p>Kiyoshi là một <a href="https://www.youtube.com/c/ChisThanh" target="_blank" rel="nofollow noopener">cựu du học sinh tại Nhật Bản</a>. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.<span id="ezoic-pub-ad-placeholder-196" class="ezoic-adpicker-ad"></span></p></div></div></div></article><aside id="sidebar"><div id="sidebar_first"><span class="ezoic-autoinsert-ad ezoic-sidebar"></span><div class="search" style="margin-top:-30px"><div id="fb-root"></div><script async defer crossorigin="anonymous" src="https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v12.0&appId=3084959888222500&autoLogAppEvents=1" nonce="KPkvxeh4"></script><div class="fb-page" style="margin-left:30px" data-href="https://www.facebook.com/laptrinhkiyoshi" data-width="380" data-hide-cover="false" data-show-facepile="false"></div><script async src="https://cse.google.com/cse.js?cx=8a4ac28a22903209e"></script><div class="gcse-search"></div></div><span id="ezoic-pub-ad-placeholder-145"></span><span class="ezoic-ad ezoic-at-0 box-1 box-1145 adtester-container adtester-container-145 ezoic-ad-adaptive" data-ez-name="laptrinhcanban_com-box-1"><span class="ezoic-ad box-1 box-1-multi-145 adtester-container adtester-container-145" data-ez-name="laptrinhcanban_com-box-1"><span id="div-gpt-ad-laptrinhcanban_com-box-1-0" ezaw="300" ezah="262" style="position:relative;z-index:0;display:inline-block;padding:0;min-height:262px;min-width:300px" class="ezoic-ad"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none">if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'laptrinhcanban_com-box-1','ezslot_4',145,'0','0'])};if(typeof __ez_fad_position != 'undefined'){__ez_fad_position('div-gpt-ad-laptrinhcanban_com-box-1-0')};</script></span></span><span class="ezoic-ad box-1 box-1-multi-145 adtester-container adtester-container-145" data-ez-name="laptrinhcanban_com-box-1"><span id="div-gpt-ad-laptrinhcanban_com-box-1-0_1" ezaw="300" ezah="262" style="position:relative;z-index:0;display:inline-block;padding:0;min-height:262px;min-width:300px" class="ezoic-ad"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none">if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'laptrinhcanban_com-box-1','ezslot_5',145,'0','1'])};if(typeof __ez_fad_position != 'undefined'){__ez_fad_position('div-gpt-ad-laptrinhcanban_com-box-1-0_1')};</script></span></span><span class="ezoic-ad box-1 box-1-multi-145 adtester-container adtester-container-145" data-ez-name="laptrinhcanban_com-box-1"><span id="div-gpt-ad-laptrinhcanban_com-box-1-0_2" ezaw="300" ezah="262" style="position:relative;z-index:0;display:inline-block;padding:0;min-height:262px;min-width:300px" class="ezoic-ad"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none">if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'laptrinhcanban_com-box-1','ezslot_6',145,'0','2'])};if(typeof __ez_fad_position != 'undefined'){__ez_fad_position('div-gpt-ad-laptrinhcanban_com-box-1-0_2')};</script></span></span><span class="ezoic-ad box-1 box-1-multi-145 adtester-container adtester-container-145" data-ez-name="laptrinhcanban_com-box-1"><span id="div-gpt-ad-laptrinhcanban_com-box-1-0_3" ezaw="300" ezah="262" style="position:relative;z-index:0;display:inline-block;padding:0;min-height:262px;min-width:300px" class="ezoic-ad"><script data-ezscrex="false" data-cfasync="false" type="text/javascript" style="display:none">if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'laptrinhcanban_com-box-1','ezslot_7',145,'0','3'])};if(typeof __ez_fad_position != 'undefined'){__ez_fad_position('div-gpt-ad-laptrinhcanban_com-box-1-0_3')};</script></span></span><style> .box-1-multi-145{border:none!important;display:inline-block;float:none!important;line-height:0px;margin-bottom:3px!important;margin-left:0px!important;margin-right:0px!important;margin-top:3px!important;max-width:100%!important;min-height:250px;min-width:300px;padding:0;}

Hướng dẫn os path trong python
report this ad

Chủ đề

Hướng dẫn os path trong python
report this ad


Nội dung
Hướng dẫn os path trong python
report this ad