msvcrt --- روالهای مفید از رانتایم MS VC++¶
کد منبع: PC/msvcrtmodule.c
این توابع دسترسی به برخی قابلیتهای مفید در سکوهای ویندوزی را فراهم میکنند. برخی ماژولهای سطح بالاتر از این توابع برای ساخت پیادهسازیهای ویندوزی خدمات خود استفاده میکنند. برای مثال، ماژول getpass در پیادهسازی تابع getpass() از آن استفاده میکند.
مستندات بیشتر در مورد این توابع را میتوانید در مستندات API پلتفرم بیابید.
این ماژول هر دو گونهی معمولی و نویسهی پهن (wide char) از API ورودی/خروجی کنسول را پیادهسازی میکند. API معمولی تنها با نویسههای ASCII سروکار دارد و کاربرد محدودی برای برنامههای بینالمللیسازیشده دارد. باید تا جایی که ممکن است از API نویسهی پهن استفاده شود.
تغییر یافته در نسخهی 3.3: عملیاتهای این ماژول اکنون در مواردی که IOError پرتاب میشد، OSError پرتاب میکنند.
عملیات پرونده¶
-
msvcrt.locking(fd, mode, nbytes)¶
بخشی از یک پرونده را بر اساس توصیفگر پرونده fd از رانتایم C قفل میکند. در صورت شکست، OSError را پرتاب میکند. ناحیهی قفلشدهی پرونده از موقعیت فعلی پرونده شروع شده و به اندازهی nbytes بایت ادامه مییابد و ممکن است از پایان پرونده فراتر رود. mode باید یکی از ثابتهای LK_* فهرستشده در زیر باشد. ممکن است چندین ناحیه در یک پرونده بهطور همزمان قفل شوند، اما نباید همپوشانی داشته باشند. ناحیههای مجاور با هم ادغام نمیشوند؛ باید بهصورت جداگانه از قفل خارج شوند.
یک رویداد حسابرسی msvcrt.locking را با آرگومانهای fd، mode و nbytes پرتاب میکند.
-
msvcrt.LK_LOCK¶
-
msvcrt.LK_RLCK¶
بایتهای مشخصشده را قفل میکند. اگر بایتها قفل نشوند، برنامه بلافاصله پس از ۱ ثانیه دوباره تلاش میکند. اگر پس از ۱۰ تلاش، بایتها قفل نشوند، OSError پرتاب میشود.
-
msvcrt.LK_NBLCK¶
-
msvcrt.LK_NBRLCK¶
بایتهای مشخصشده را قفل میکند. اگر امکان قفل کردن بایتها وجود نداشته باشد، OSError پرتاب میشود.
-
msvcrt.LK_UNLCK¶
قفل بایتهای مشخصشده را باز میکند، که باید پیشتر قفل شده باشند.
-
msvcrt.setmode(fd, flags)¶
حالت ترجمه پایان خط را برای توصیفگر پرونده fd تنظیم کنید. برای تنظیم آن به حالت متنی، flags باید os.O_TEXT باشد؛ برای حالت دودویی، باید os.O_BINARY باشد.
-
msvcrt.open_osfhandle(handle, flags)¶
یک توصیفگر پرونده رانتایم C از دستهی پرونده handle ایجاد میکند. پارامتر flags باید OR بیتی از os.O_APPEND، os.O_RDONLY، os.O_TEXT و os.O_NOINHERIT باشد. شما میتوانید از توصیفگر پرونده برگرداندهشده بهعنوان پارامتری برای os.fdopen() استفاده کنید تا یک شیء پرونده ایجاد شود.
توصیفگر پرونده بهطور پیشفرض قابل ارثبردن است. برای غیرقابل ارثبردن کردن آن، پرچم os.O_NOINHERIT را ارسال کنید.
یک رویداد حسابرسی msvcrt.open_osfhandle را با آرگومانهای handle و flags پرتاب میکند.
-
msvcrt.get_osfhandle(fd)¶
دسته پرونده را برای توصیفگر پرونده fd بازمیگرداند. اگر fd شناسایی نشود، OSError پرتاب میشود.
یک رویداد حسابرسی msvcrt.get_osfhandle را با آرگومان fd پرتاب میکند.
ورودی/خروجی کنسول¶
-
msvcrt.kbhit()¶
اگر فشار کلید در انتظار خوانده شدن باشد، یک مقدار غیرصفر برمیگرداند. در غیر این صورت، ۰ برمیگرداند.
-
msvcrt.getch()¶
یک فشردن کلید را میخواند و نویسه حاصل را بهصورت یک رشته بایتی برمیگرداند. هیچ چیزی در کنسول بازتاب داده نمیشود. اگر فشردن کلید از قبل در دسترس نباشد، این فراخوانی مسدود میشود، اما برای فشرده شدن Enter منتظر نمیماند. اگر کلید فشردهشده یک کلید تابعی ویژه باشد، این تابع '\000' یا '\xe0' را برمیگرداند؛ فراخوانی بعدی کد کلید را برمیگرداند. فشردن کلید Control-C را نمیتوان با این تابع خواند.
-
msvcrt.getwch()¶
نسخهی نویسهی پهن از getch()، که یک مقدار Unicode را برمیگرداند.
-
msvcrt.getche()¶
مشابه getch()، اما اگر فشردن کلید نشاندهنده یک نویسه قابل چاپ باشد، بازتاب داده میشود.
-
msvcrt.getwche()¶
نسخهی نویسهی پهن از getche()، که یک مقدار یونیکد را برمیگرداند.
-
msvcrt.putch(char)¶
رشته بایتی char را بدون بافرینگ در کنسول چاپ کنید.
-
msvcrt.putwch(unicode_char)¶
نسخهی نویسهی پهن از putch() که یک مقدار یونیکد را میپذیرد.
-
msvcrt.ungetch(char)¶
باعث میشود رشته بایتی char به درون بافر کنسول «بازگردانده شود»؛ این، نویسهی بعدی خواهد بود که توسط getch() یا getche() خوانده میشود.
-
msvcrt.ungetwch(unicode_char)¶
نسخهی نویسهی پهن از ungetch()، که یک مقدار یونیکد را میپذیرد.
سایر توابع¶
-
msvcrt.heapmin()¶
هیپمربوط به malloc() را مجبور میکند تا خود را پاکسازی کند و بلوکهای استفادهنشده را به سیستمعامل بازگرداند. در صورت شکست، OSError پرتاب میشود.
-
msvcrt.set_error_mode(mode)¶
مکانی را که رانتایم C پیام خطایی را برای خطایی که ممکن است برنامه را خاتمه دهد در آن مینویسد، تغییر میدهد. mode باید یکی از ثابتهای OUT_* فهرستشده در زیر یا REPORT_ERRMODE باشد. تنظیم پیشین را برمیگرداند یا در صورت بروز خطا -1 را برمیگرداند. فقط در ساخت اشکالزدایی پایتون در دسترس است.
-
msvcrt.OUT_TO_DEFAULT¶
چاهک خطا (error sink) بر اساس نوع برنامه تعیین میشود. فقط در ساخت اشکالزدایی پایتون در دسترس است.
-
msvcrt.OUT_TO_STDERR¶
مقصد خطا، جریان خطای استاندارد است. فقط در ساخت اشکالزدایی پایتون در دسترس است.
-
msvcrt.OUT_TO_MSGBOX¶
مقصد خطا (Error sink) یک جعبه پیام است. تنها در ساخت اشکالزدایی پایتون در دسترس است.
-
msvcrt.REPORT_ERRMODE¶
مقدار حالت خطای فعلی را گزارش میدهد. فقط در ساخت اشکالزدایی پایتون در دسترس است.
-
msvcrt.CrtSetReportMode(type, mode)¶
مقصد یا مقصدهای یک نوع گزارش خاص را که توسط _CrtDbgReport() در رانتایم MS VC++ تولید میشود، مشخص میکند. type باید یکی از ثابتهای CRT_* فهرستشده در زیر باشد. mode باید یکی از ثابتهای CRTDBG_* فهرستشده در زیر باشد. فقط در ساخت اشکالزدایی پایتون در دسترس است.
-
msvcrt.CrtSetReportFile(type, file)¶
پس از اینکه از CrtSetReportMode() برای مشخص کردن CRTDBG_MODE_FILE استفاده کردید، میتوانید دسته پروندهای را که متن پیام را دریافت میکند، مشخص کنید. type باید یکی از ثابتهای CRT_* فهرستشده در زیر باشد. file باید دسته پروندهای باشد که میخواهید مشخص شود. فقط در ساخت اشکالزدایی پایتون در دسترس است.
-
msvcrt.CRT_WARN¶
هشدارها، پیامها و اطلاعاتی که نیاز به توجه فوری ندارند.
-
msvcrt.CRT_ERROR¶
خطاها، مشکلات غیرقابلبازیابی، و مسائلی که به توجه فوری نیاز دارند.
-
msvcrt.CRT_ASSERT¶
شکستهای ادعا.
-
msvcrt.CRTDBG_MODE_DEBUG¶
پیام را در پنجرهی خروجی اشکالزدا مینویسد.
-
msvcrt.CRTDBG_MODE_FILE¶
پیام را در یک دستهی پرونده ارائهشده توسط کاربر مینویسد. باید CrtSetReportFile() فراخوانی شود تا پرونده یا جریان مشخصی که بهعنوان مقصد استفاده میشود تعریف شود.
-
msvcrt.CRTDBG_MODE_WNDW¶
یک جعبه پیام برای نمایش پیام به همراه دکمههای Abort، Retry و Ignore ایجاد میکند.
-
msvcrt.CRTDBG_REPORT_MODE¶
mode جاری برای type مشخصشده را بازمیگرداند.
-
msvcrt.CRT_ASSEMBLY_VERSION¶
نسخهی CRT Assembly، از پروندهی سرآیند crtassem.h.
-
msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN¶
توکن کلید عمومی VC Assembly، از پروندهی سرآیند crtassem.h.
-
msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX¶
پیشوند نام اسمبلی کتابخانهها (Libraries Assembly)، از پروندهی سرآیند crtassem.h.
©
حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرمافزار پایتون نسخه ۲ منتشر شده است.
مثالها، دستورالعملها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شدهاند.
برای اطلاعات بیشتر به
تاریخچه و مجوز مراجعه کنید.
بنیاد نرمافزار پایتون یک شرکت غیرانتفاعی است.
لطفاً کمک مالی کنید.
آخرین بهروزرسانی در نوامبر 12, 2026 (06:19 UTC).
آیا
اشکالی یافتید؟
ساخته شده با
Sphinx 9.1.0.