Làm cách nào để bạn xử lý tên tệp có khoảng trắng trong python?

Thông thường chúng ta tạo các tệp và thư mục [hay có thể nói là thư mục] trong máy của mình để sắp xếp chúng ngăn nắp, để khi cần, chúng ta có thể dễ dàng tìm kiếm chúng. Đôi khi chúng tôi lưu chúng với tên có khoảng trắng, ví dụ: chúng tôi lưu tệp có tên “tệp của tôi” trong trường hợp này, thiết bị đầu cuối Linux sẽ tạo ra lỗi. Các tệp có thể không được lưu với khoảng trắng trong Linux không? . chúng tôi có thể nhưng chúng sẽ được truy cập khác nhau trong thiết bị đầu cuối

Bài viết này tập trung vào những lỗi chúng ta gặp phải khi truy cập các tệp và thư mục có khoảng trắng trong tên của chúng và cách tránh những lỗi đó

Cách tạo một tệp có khoảng trắng trong tên của nó trong Linux

Để hiểu cách tham chiếu tên tệp có dấu cách trong Linux, chúng tôi sẽ xem xét một ví dụ. Đầu tiên, chúng ta sẽ mở terminal

Sau đó tạo một tệp có tên “tệp của tôi” bằng cách sử dụng lệnh touch

touch my file 

Bây giờ hãy xem tệp có được tạo hay không bằng cách sử dụng lệnh “ls”. Chúng tôi quan sát thấy rằng thay vì một, hai tệp đã được tạo, một tệp có tên “của tôi” và tệp thứ hai có tên “tệp”

Để sử dụng khoảng trắng trong tên, chúng tôi sử dụng dấu ngoặc kép [‘ ’] hoặc chuỗi thoát [\]. Bây giờ chúng ta lại tạo một tệp khác bằng cách sử dụng [‘ ’] và một tệp khác bằng cách sử dụng [\]

touch 'my file'  
touch test\ file 

Bây giờ một lần nữa sử dụng lệnh “ls” để xem các tập tin

Các tập tin đã được tạo. Hãy kiểm tra xem chúng ta có gặp lỗi tương tự khi tạo thư mục bằng cách sử dụng khoảng trắng hay không. Chúng tôi sẽ tạo một thư mục bằng cách sử dụng không gian bằng lệnh mkdir

mkdir new collection 

Chúng ta sẽ xem thư mục đã được tạo hay chưa bằng lệnh “ls”. Nó tạo ra hai thư mục thay vì một

Chúng ta có thể khắc phục điều này giống như cách chúng ta đã làm trong phương thức tạo tệp bằng cách sử dụng [‘ ‘] hoặc [\]. Một lần nữa, hãy tạo một thư mục bằng cách sử dụng [‘ ‘] hoặc [\] này

mkdir my\ new\ collection 

Bây giờ chúng ta sẽ kiểm tra kết quả

Cách tham chiếu tên tệp có dấu cách trong Linux

Vì vậy, chúng ta có thể thấy rằng thư mục đã được tạo theo yêu cầu của chúng tôi. Bây giờ nếu chúng ta muốn xem nội dung của tệp, chúng ta chỉ cần sử dụng con mèo và tên tệp có dấu cách;

cat test file 

Chúng ta nên sử dụng "\". Ví dụ: chúng tôi muốn xem nội dung của tệp thử nghiệm bằng cách sử dụng lệnh cat

cat test\ file 

Tệp trống nên không hiển thị kết quả nhưng lệnh chạy thành công. Chúng tôi cũng có thể mở tệp bằng cách sử dụng dấu nháy đơn [‘ ’] hoặc dấu ngoặc kép [“ ”] như

cat "test file" 
[OR]
cat 'test file' 

Xóa tên tệp bằng Spaces trong Linux

Tương tự, bạn cũng có thể xóa một tệp và thư mục có khoảng trống trong tên của chúng bằng cách sử dụng dấu nháy đơn [ ‘ ’ ], dấu ngoặc kép [“ ”] hoặc chuỗi thoát [ \ ]

rm -f 'test file' 

Tương tự, bạn có thể xóa một thư mục có dấu cách trong tên

________số 8

Sự kết luận

Chúng tôi tạo các tệp và thư mục mà không bận tâm đến những tên có thể có khoảng trắng. Thiết bị đầu cuối Linux xử lý các tệp và thư mục khác nhau có khoảng trắng trong tên của chúng. Vì vậy, bài viết này đã giải quyết vấn đề. Nếu chúng ta muốn đặt tên cho một tệp hoặc thư mục có khoảng trắng, chúng ta có thể thực hiện bằng cách sử dụng dấu nháy đơn [ ‘ ’ ], dấu ngoặc kép [“ ”] hoặc chuỗi thoát [ \ ]

Một điều bạn sẽ nhận thấy rằng các tệp trong Linux thường không chứa tên. Giáo viên hoặc đồng nghiệp của bạn sử dụng dấu gạch dưới thay vì khoảng trắng trong tên tệp và thư mục

Không phải là bạn không thể sử dụng khoảng trắng trong tên tệp trong thiết bị đầu cuối Linux. Chỉ là nó tạo thêm nỗi đau và đó là lý do tại sao bạn nên tránh nó bất cứ khi nào có thể

Tại sao? . Bạn biết cú pháp chung cho các lệnh Linux

command [options] argument1 argument2

Ở đây, các đối số được phân tách bằng dấu cách. Nếu bạn cố gắng sử dụng trực tiếp các tên tệp có khoảng trắng, nó sẽ được coi là các đối số riêng biệt thay vì chỉ một đối số

Trong ảnh chụp màn hình ở trên, khi tôi cố gắng sử dụng lệnh

touch 'my file'  
touch test\ file 
02, nó không hiểu rằng
touch 'my file'  
touch test\ file 
03 là một đối số. Nó coi
touch 'my file'  
touch test\ file 
04 và
touch 'my file'  
touch test\ file 
05 là các tên tệp khác nhau

Làm thế nào để bạn đối phó với khoảng trắng trong tên tập tin?

Bọc toàn bộ tên tệp giữa dấu ngoặc kép

touch 'my file'  
touch test\ file 
0

Thoát mọi khoảng trắng bằng phím dấu gạch chéo ngược

touch 'my file'  
touch test\ file 
5

Tôi sẽ trình bày chi tiết

⚠️

Hoàn thành tab cũng thường hoạt động với khoảng trắng. Thiết bị đầu cuối của bạn có thể hiển thị tên tệp với khoảng trắng được thoát bằng dấu gạch chéo ngược nếu bạn nhấn phím tab cho tên tệp

Đọc một tệp có khoảng trắng trong tên tệp

Để sử dụng tên tệp có khoảng trắng trong đó, bạn có thể đặt nó trong dấu ngoặc kép như thế này

touch 'my file'  
touch test\ file 
6

Bạn cũng có thể thoát khỏi mọi khoảng trống bằng dấu gạch chéo ngược nhưng nó hoạt động nhiều hơn và khó hiểu hơn so với phương pháp trước đó

touch 'my file'  
touch test\ file 
7

Về cơ bản, bạn đặt một

touch 'my file'  
touch test\ file 
06 trước mỗi khoảng trống trong tên tệp

Bạn cũng có thể sử dụng dấu ngoặc đơn thay vì dấu ngoặc kép

touch 'my file'  
touch test\ file 
9

Dấu nháy đơn bỏ qua mọi ký tự đặc biệt. Dấu ngoặc kép bỏ qua tất cả ngoại trừ $, dấu ngoặc kép và dấu gạch chéo ngược. Thông tin thêm về nó trong một số hướng dẫn khác.

Tạo một tệp có khoảng trắng trong tên tệp

Bây giờ, bạn cần gõ dấu cách vào terminal để tạo tên tệp ở đây. Sử dụng lại dấu gạch chéo ngược hoặc dấu ngoặc kép

Tương tự như phần trước, bạn có thể tạo tệp mới có dấu cách trong tên tệp bằng dấu ngoặc kép

mkdir new collection 
0

Hoặc dấu gạch chéo ngược cũng vậy

mkdir new collection 
1

Sự khác biệt giữa trích dẫn đơn và trích dẫn kép trong Bash Shell

Dấu ngoặc kép là một phần không thể thiếu của shell scripting và lệnh Linux nhưng chúng thường có thể gây nhầm lẫn cho người dùng mới. Bài viết này sẽ làm sáng tỏ những câu trích dẫn cho bạn

Cẩm nang LinuxAbhishek Prakash

Xử lý không gian trong tên thư mục

Bạn có thể tạo một thư mục có khoảng trống trong tên của nó giống như cách bạn tạo một tệp

mkdir new collection 
2

Bây giờ nếu bạn muốn chuyển sang thư mục này, bạn sẽ có một đường dẫn có dấu cách

Nhưng đó không còn là vấn đề với bạn nữa. Để cd vào một thư mục có khoảng trống, hãy sử dụng lại dấu ngoặc kép hoặc dấu gạch chéo ngược

mkdir new collection 
3

Về cơ bản, bất cứ khi nào bạn phải xử lý khoảng trắng trong tên, bạn sử dụng dấu ngoặc kép hoặc phím gạch chéo ngược

Giả sử bạn phải sao chép một tệp

touch 'my file'  
touch test\ file 
07 từ
touch 'my file'  
touch test\ file 
08 này. Đây là những gì bạn có thể làm

touch 'my file'  
touch test\ file 
00

Bây giờ nó bắt đầu hơi khó hiểu đúng không? . Nó có thể đe dọa người dùng mới hoặc thậm chí là người dày dạn kinh nghiệm nếu có quá nhiều dấu gạch chéo đó.

Nó thậm chí còn lộn xộn hơn khi có dấu gạch chéo ngược trong tên tệp. Sau đó, bạn sẽ thấy các dấu nháy ngược kép

Đây là lý do tại sao bạn nên cố gắng tránh sử dụng khoảng trắng hoặc các ký tự đặc biệt khác trong tên tệp. Để tách các từ trong tên tệp, hãy sử dụng dấu gạch dưới

touch 'my file'  
touch test\ file 
01

Điều này làm cho tên tệp dễ đọc hơn và bạn sẽ không phải nỗ lực thêm để xử lý các khoảng trống đó trong tên tệp

Python có thể xử lý khoảng trắng trong tên tệp không?

Bạn có thể sử dụng bất kỳ tệp nào mình thích [và có quyền truy cập] bên trong mã của mình. Tuy nhiên, bạn không nên sử dụng dấu cách trong quá trình nhập cũng như trong. py . Bởi vì tên tệp được sử dụng làm tên đối tượng bên trong python…

Bạn có thể sử dụng khoảng trắng trong tên tệp không?

Tránh dấu cách . Khoảng trắng trong tên tệp có thể gây ra lỗi khi tải tệp hoặc khi truyền tệp giữa các máy tính. Các thay thế phổ biến cho khoảng trắng trong tên tệp là dấu gạch ngang [-] hoặc dấu gạch dưới [_].

Chủ Đề