Hướng dẫn can multiple python scripts read the same file? - nhiều tập lệnh python có thể đọc cùng một tệp không?

Tôi có một số câu hỏi đơn giản về việc đọc và viết các tập tin bằng Python. Tôi muốn đọc [chỉ đọc mà không viết] cùng một tệp từ một tập lệnh và đọc+viết từ tập lệnh khác.

Script_1 - Chỉ đọc:

with open["log.txt", "r"] as f:
    content = f.read[]

Script_2 - Đọc và viết:

with open["log.txt", "a+"] as f:
    content = f.read[]
    f.write["This is new line,"]

Và câu hỏi của tôi là - điều này có ổn không?

Tôi sẽ nhận được một số lỗi hoặc STH khi các tập lệnh cố gắng truy cập vào cùng một tệp cùng một lúc? [vâng, thật khó để kiểm tra điều này ^^]

Ý tôi là tôi đã đọc một số bài viết về điều này và bây giờ tôi không chắc.

Khi được hỏi ngày 14 tháng 5 năm 2020 lúc 15:10May 14, 2020 at 15:10

0

Về mặt kỹ thuật, các tập lệnh sẽ không chạy cùng một lúc, vì vậy sẽ không có vấn đề gì xảy ra, trừ khi tất nhiên bạn chạy chúng từ các chủ đề riêng biệt, trong trường hợp đó tôi nghĩ rằng nó ổn.

Nhưng bạn có thể đặt tập lệnh vào một hàm và gọi chúng trong vòng lặp vì bạn có thể chuyển biến được gán vào hàm đó, điều này được hiển thị bởi câu trả lời của Joshua cho thấy bạn có thể lặp vào một tệp cùng một lúc.

Nhưng nếu bạn muốn giữ chúng ở các tệp riêng biệt, chúng sẽ không được gọi cùng một lúc, bởi vì nếu bạn gọi chúng từ một tệp, chúng sẽ không chạy cùng một đánh dấu, ngay cả khi bạn cũng vậy thì sẽ ổn thôi.

Đã trả lời ngày 14 tháng 5 năm 2020 lúc 15:21May 14, 2020 at 15:21

Tygzytygzytygzy

4964 Huy hiệu bạc23 Huy hiệu Đồng4 silver badges23 bronze badges

0

Bạn có thể làm chúng cùng nhau:

with open["log.txt", "r"] as f1, open["log.txt", "a+"] as f2:
    content1 = f1.read[]
    content2 = f2.read[]
    f2.write["This is new line,"]

Đã trả lời ngày 14 tháng 5 năm 2020 lúc 15:14May 14, 2020 at 15:14

Joshua Varghesejoshua VargheseJoshua Varghese

4.9671 Huy hiệu vàng11 Huy hiệu bạc34 Huy hiệu đồng1 gold badge11 silver badges34 bronze badges

Khi bạn viết vào một tệp, bạn chỉ viết cho một bộ đệm mà HĐH phân bổ cho bạn [ít nhất là bằng Linux], sau khi xả bộ đệm [trong trường hợp của chúng tôi, một mình thì không có khả năng ], chỉ sau đó HĐH sẽ thực tế viết dữ liệu vào tệp! Vì vậy, miễn là bạn đọc và không xả nước cho nhà văn thì nó sẽ ổn.

Đã trả lời ngày 14 tháng 5 năm 2020 lúc 15:37May 14, 2020 at 15:37

o__oo__oo__o

2.7071 Huy hiệu vàng13 Huy hiệu bạc33 Huy hiệu đồng1 gold badge13 silver badges33 bronze badges

10 cuộc thảo luận nữa bạn có thể thấy thú vị

1. Lập trình và kịch bản shell Shell Programming and Scripting

KSH: Cách ghi tệp nhật ký đồng thời khi tệp .sql thực thi theo quy trình unix

Hello Team- Chúng tôi muốn thực hiện một cách tiếp cận phải viết đồng thời tệp nhật ký khi tệp .sql được thực thi theo quy trình UNIX. Hiện tại, nó đang viết tệp nhật ký sau khi quá trình hoàn thành. Tôi đã thử nghiệm quy trình hiện tại với các cách tiếp cận dưới đây và không ai trong số chúng ... [1 trả lời][1 Reply]

Thảo luận bắt đầu bởi: HIMA_B

2. UNIX cho câu hỏi & câu trả lời của người giả UNIX for Dummies Questions & Answers

Sự khác biệt giữa các chương trình SUID sẵn có và các chương trình SUID gốc được xác định của người dùng trong Bash Shell?

Này các bạn, giả sử tôi chạy Passwd qua Bash Shell. Đây là một chương trình SUID, tạm thời chạy dưới dạng root [chủ sở hữu] và sửa đổi các mục nhập của người dùng. Tuy nhiên, khi tôi viết một tệp C và cho phép 4755 và quyền sở hữu root vào tệp 'a.out', nó không chạy như root trong bash shell. Tôi đã xác minh điều này bằng ... [2 câu trả lời][2 Replies]

Thảo luận bắt đầu bởi: SyncMaster

3. Lập trình và kịch bản Shell Shell Programming and Scripting

Chuyển hướng đầu ra từ tập lệnh sang tệp và hiển thị đồng thời tại bảng điều khiển

Xin chào, tôi muốn chuyển hướng đầu ra stdout từ tập lệnh của tôi sang một tệp và hiển thị đồng thời tại một bảng điều khiển. Tôi đã thử lệnh này: myscript.sh | Tail -f Tuy nhiên, nó không kết thúc sau khi tập lệnh kết thúc chạy Tôi cũng đã thử điều này: myscript.sh | tee ~/results.txt nhưng nó viết ... [3 trả lời][3 Replies]

Thảo luận bắt đầu bởi: WENCLU

4. Lập trình Programming

Chạy đồng thời hai CGI và AJAX để đọc giá trị cập nhật từ CGI1

CGI dựa trên CGI dựa trên C được sử dụng CGI1: -gets được gọi khi người dùng nhấn nút tải lên [gửi] IE Form Action = CGI1 -Does Tải lên tệp [sao chép vào thư mục, v.v.] Khi người dùng nhấn nút tải lên -chức năng JS sẽ mở yêu cầu AJAX cho CGI2 ... [8 trả lời][8 Replies]

Thảo luận bắt đầu bởi: xs2punit

5. UNIX cho câu hỏi & câu trả lời của người giả UNIX for Dummies Questions & Answers

Các chương trình như sys_open [], sys_read [] et al có ví dụ về các chương trình cấp hệ thống không?

Có phải các chương trình được viết trên lịch trình, thư viện chủ đề, quản lý quy trình, quản lý bộ nhớ, et al được gọi là các chương trình hệ thống? Làm thế nào chúng khác với các chương trình thực hiện các hàm như Open [], printf [], scanf [], read [] .. chúng có tiền tố sys_open, sys_close, sys_read, v.v.[1 Reply]

Thảo luận bắt đầu bởi: Vishwamitra

6. Unix cho Dummies Câu hỏi & Câu trả lời UNIX for Dummies Questions & Answers

Những chương trình truy cập tệp thư viện chia sẻ nào

Tôi đã tò mò làm thế nào để nói những chương trình nào đang truy cập một tệp [libobjc.a.dylib] trong /usr /lib tệp này dường như là thủ phạm trong một loạt các vụ tai nạn safari, và tôi chỉ muốn biết liệu các chương trình nào khác có sử dụng nó. Ngoài ra, tôi đã tò mò một cách tốt để tìm ra các tệp đang được viết ... [4 câu trả lời][4 Replies]

Thảo luận bắt đầu bởi: GLEV2005

7. UNIX cho câu hỏi & câu trả lời của người giả UNIX for Dummies Questions & Answers

cách gọi hai chương trình đồng thời

Xin chào, tôi muốn gọi đồng thời hai chương trình từ một chương trình hiện đang chạy để phân phối công việc và buộc chặt tốc độ. Đến bây giờ tôi gọi các chương trình này từng chương trình trong chương trình chính. ví dụ. `Perl a.pl`; `Perl B.Pl`; Làm thế nào tôi có thể chạy hai paralelly? khẩn cấp ... làm ơn ... [1 trả lời][1 Reply]

Thảo luận bắt đầu bởi: VIPINCCMB

8. Lập trình và kịch bản Shell Shell Programming and Scripting

Nhiều quy trình ghi trên cùng một tệp

Xin chào tất cả, tôi đã gặp một vấn đề, xin hãy giúp tôi. Tôi có một tập lệnh trong đó nhiều quy trình đang ghi vào cùng một tệp. Làm thế nào tôi nên dừng điều này, tôi có nghĩa là cơ chế khóa có thể được thực hiện hoặc chúng ta có thể viết các tệp tại các tệp khác nhau và sau đó nối các tệp. Điều gì sẽ tốt hơn ... [1 trả lời][1 Reply]

Thảo luận bắt đầu bởi: Sayantan

9. Lập trình và kịch bản vỏ Shell Programming and Scripting

Cấu hình sử dụng tệp trong các chương trình shell ...

Tôi muốn biết định dạng mà mọi người đều sử dụng cho các tệp CFG được gọi bởi các chương trình Shell. Tôi chủ yếu thực hiện các tập lệnh Sh và KSH và nhiều lần tôi sửa đổi một tập lệnh hiện có để thực hiện một nhiệm vụ khác. Gần đây tôi đã làm cho các tập lệnh của mình trở nên chung chung hơn và sử dụng các tệp cấu hình để chứa các chi tiết uniq .... [3 câu trả lời][3 Replies]

Thảo luận bắt đầu bởi: Tomas

10. UNIX cho câu hỏi & câu trả lời của người giả UNIX for Dummies Questions & Answers

nhật ký tệp chương trình

Nếu tôi có một chương trình [ví dụ admintool], nếu tôi muốn giữ một bản ghi về những gì tôi đã làm trong admintool, tôi có thể thực hiện admintool> admintool_log này. Tôi đã thử nhưng hệ thống chỉ chờ ở đó .... sau đó tôi đã giết và xem tập tin. Tệp có màn hình menu chính ... về cơ bản, tôi muốn giữ nhật ký ... [3 câu trả lời][3 Replies]

Thảo luận bắt đầu bởi: YLS177

Hai chương trình Python có thể đọc cùng một tệp không?

Không sao khi truy cập tệp từ hai chương trình khác nhau, miễn là bạn không cố gắng sửa đổi nó từ hai chương trình khác nhau..

Nhiều chương trình có thể đọc từ cùng một tệp cùng một lúc không?

Không đồng bộ có nghĩa là các độc giả của tệp đọc bất cứ điều gì họ muốn đọc bất cứ khi nào họ cần đọc nó.Bạn có thể có số lượng lớn các quy trình đọc một tệp cùng một lúc.You can have large number of processes reading a file at exactly the same time.

Nhiều tập lệnh Python có thể chạy cùng một lúc không?

Có, bạn có thể chạy nhiều tập lệnh Python cùng một lúc và trong Python, chúng tôi sử dụng đa luồng để chạy nhiều tác phẩm đồng thời. and In python, we use multi-threading to run multiple works simultaneously.

Hai quy trình có thể mở cùng một tệp không?

Quá trình mở [và nếu cần tạo], tệp là nguyên tử, do đó sẽ không bao giờ xảy ra rằng một quá trình sẽ tạo tệp nhưng quá trình khác sẽ mở nó.Lưu ý: Điều này là cụ thể cho Windows, các hệ điều hành khác có hành vi khác nhau.it will never happen that one process will create the file but the other process will open it. Note: this is specific to Windows, other operating systems have different behaviour.

Bài Viết Liên Quan

Chủ Đề