Victor Stinner
4a0d574273
gh-120057: Add os.reload_environ() function ( #126268 )
...
Replace the os.environ.refresh() method with a new
os.reload_environ() function.
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2024-11-05 08:43:34 +01:00
Barney Gale
db00fee3a2
GH-119169: Simplify `os.walk()` exception handling ( #121435 )
...
Handle errors from `os.scandir()` and `ScandirIterator` similarly, which
lets us loop over directory entries with `for`.
2024-07-08 17:41:01 +01:00
Victor Stinner
7aff2de62b
gh-120057: Add os.environ.refresh() method ( #120059 )
2024-06-10 16:34:17 +00:00
Barney Gale
a5fef800d3
GH-89727: Fix FD leak on `os.fwalk()` generator finalization. ( #119766 )
...
Follow-up to 3c890b50
. Ensure we `os.close()` open file descriptors when
the `os.fwalk()` generator is finalized.
2024-05-30 03:45:47 +00:00
Barney Gale
3c890b503c
GH-89727: Fix `os.fwalk()` recursion error on deep trees ( #119638 )
...
Implement `os.fwalk()` using a list as a stack to avoid emitting recursion
errors on deeply nested trees.
2024-05-30 03:05:36 +00:00
Barney Gale
a150679f90
GH-89727: Partially fix `shutil.rmtree()` recursion error on deep trees ( #119634 )
...
Make `shutil._rmtree_unsafe()` call `os.walk()`, which is implemented
without recursion.
`shutil._rmtree_safe_fd()` is not affected and can still raise a recursion
error.
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2024-05-29 20:11:30 +00:00
Serhiy Storchaka
aa7bcf284f
gh-116401: Fix blocking os.fwalk() and shutil.rmtree() on opening a named pipe (GH-116421)
2024-03-13 11:40:28 +02:00
Serhiy Storchaka
1f06baeabd
gh-113191: Add support of os.fchmod() on Windows (GH-113192)
...
Also support a file descriptor in os.chmod().
2023-12-24 10:57:11 +00:00
Serhiy Storchaka
29f7eb4859
gh-59616: Support os.chmod(follow_symlinks=True) and os.lchmod() on Windows (GH-113049)
2023-12-14 13:28:37 +02:00
Donghee Na
0362cbf908
gh-109595: Add -Xcpu_count=<n> cmdline for container users ( #109667 )
...
---------
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Gregory P. Smith [Google LLC] <greg@krypto.org>
2023-10-10 19:00:09 +09:00
Victor Stinner
c81521020d
gh-109649: Add os.process_cpu_count() function ( #109907 )
...
* Refactor os_sched_getaffinity_impl(): move variable definitions to
their first assignment.
* Fix test_posix.test_sched_getaffinity(): restore the old CPU mask
when the test completes!
* Doc: Specify that os.cpu_count() counts *logicial* CPUs.
* Doc: Specify that os.sched_getaffinity(0) is related to the calling
thread.
2023-10-01 00:12:51 +02:00
Alex Waygood
93a970ffbc
gh-106046: Improve error message from `os.fspath` if `__fspath__` is set to `None` ( #106082 )
2023-06-26 00:06:12 +01:00
Barney Gale
bd1b6228d1
GH-104898: Add __slots__ to os.PathLike (GH-104899)
2023-05-25 21:24:20 +01:00
Stanislav Zmiev
73097d91a6
gh-89727: Improve os.walk complexity ( #100671 )
2023-01-02 13:41:19 -08:00
Jon Burdo
797edb28c3
gh-89727: Fix os.walk RecursionError on deep trees ( #99803 )
...
Use a stack to implement os.walk iteratively instead of recursively to
avoid hitting recursion limits on deeply nested trees.
2022-12-19 10:59:01 -08:00
Stanley
0f498f1a95
gh-57179: Add note on symlinks for os.walk ( #94799 )
2022-10-07 15:51:50 -07:00
Inada Naoki
96f65835f8
gh-87901: Remove the encoding argument from os.popen (GH-92836)
2022-05-19 11:42:43 +09:00
Inada Naoki
2b563f1ad3
gh-87901: Add encoding to os.popen (GH-92374)
2022-05-06 14:48:36 +09:00
辰冢
2a38e1ab65
Fix missing spaces in os.walk example (GH-29918)
2022-02-17 23:10:33 -05:00
Serhiy Storchaka
2b496e7929
bpo-42053: Remove misleading check in os.fwalk() (GH-27669)
...
os.fwalk() does not support integer as the first argument,
and never supported.
2021-08-08 21:04:02 +03:00
Leonardo Freua
85fa3b6b7c
bpo-44631: Make the repr() of the _Environ class more readable. ( #27128 )
...
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-07-20 19:15:45 +02:00
Inada Naoki
a69256527f
bpo-43651: Fix EncodingWarning in `os.fdopen()` and test_os (GH-25654)
2021-04-29 11:35:36 +09:00
Inada Naoki
35715d1e72
bpo-43651: PEP 597: Fix EncodingWarning in some tests (GH-25145)
...
* test_asyncio
* test_bz2
* test_math
* test_cmath
* test_cmd_line
* test_cmd_line_script
* test_compile
* test_contextlib
* test_profile
* ctypes/test/test_find
* test_multiprocessing
* test_configparser
* test_csv
* test_dbm_dumb
* test_decimal
* test_difflib
* os.fdopen() calls io.text_encoding() to emit EncodingWarning for right place.
2021-04-04 09:01:23 +09:00
pxinwr
e1e3c2dac3
bpo-31904: Disable os.popen and popen test cases on VxWorks (GH-21687)
2020-12-15 22:20:07 +01:00
Guido van Rossum
48b069a003
bpo-39481: Implementation for PEP 585 ( #18239 )
...
This implements things like `list[int]`,
which returns an object of type `types.GenericAlias`.
This object mostly acts as a proxy for `list`,
but has attributes `__origin__` and `__args__`
that allow recovering the parts (with values `list` and `(int,)`.
There is also an approximate notion of type variables;
e.g. `list[T]` has a `__parameters__` attribute equal to `(T,)`.
Type variables are objects of type `typing.TypeVar`.
2020-04-07 09:50:06 -07:00
Victor Stinner
65a796e527
bpo-40094: Add os.waitstatus_to_exitcode() (GH-19201)
...
Add os.waitstatus_to_exitcode() function to convert a wait status to an
exitcode.
Suggest waitstatus_to_exitcode() usage in the documentation when
appropriate.
Use waitstatus_to_exitcode() in:
* multiprocessing, os, subprocess and _bootsubprocess modules;
* test.support.wait_process();
* setup.py: run_command();
* and many tests.
2020-04-01 18:49:29 +02:00
Charles Burkland
d648ef10c5
bpo-36144: Update os.environ and os.environb for PEP 584 ( #18911 )
2020-03-13 09:04:43 -07:00
Serhiy Storchaka
f4f445b693
bpo-39567: Add audit for os.walk(), os.fwalk(), Path.glob() and Path.rglob(). (GH-18372)
2020-02-12 12:11:34 +02:00
Victor Stinner
b8d1262e8a
bpo-39395: putenv() and unsetenv() always available (GH-18135)
...
The os.putenv() and os.unsetenv() functions are now always available.
On non-Windows platforms, Python now requires setenv() and unsetenv()
functions to build.
Remove putenv_dict from posixmodule.c: it's not longer needed.
2020-01-24 14:05:48 +01:00
Bar Harel
eae87e3e4e
bpo-38878: Fix os.PathLike __subclasshook__ (GH-17336)
...
Quick subclasshook fix using the same method is being used in collections.abc (up to a certain degree).
2019-12-22 09:57:27 +00:00
Batuhan Taşkaya
526606baf7
bpo-38994: Implement __class_getitem__ for PathLike (GH-17498)
...
https://bugs.python.org/issue38994
2019-12-08 12:31:15 -08:00
Bernt Røskar Brenna
734f1202a5
closes bpo-25461: Update os.walk() docstring to match the online docs. (GH-11836)
2019-09-10 13:43:58 +01:00
Hasan Ramezani
fb6807b043
Fix punctuation in `os.execvpe` docstring. (GH-15051)
2019-09-09 08:58:21 -07:00
Steve Dower
2438cdf0e9
bpo-36085: Enable better DLL resolution on Windows (GH-12302)
2019-03-29 16:37:16 -07:00
Recursing
3ce3dea606
Use generator instead of list in code examples (GH-11203)
...
There is no need to create a list for `sum`
Also, becomes consistent with the first example in Doc/library/os.rst
2018-12-22 19:48:14 -08:00
Benjamin Peterson
52dee687af
Assume the raw environ is always declared. (GH-8707)
...
posixmodule.c always declares environ, so don't bother catching a NameError in os.py.
2018-08-07 21:51:12 -07:00
Mike
53f7a7c281
bpo-32297: Few misspellings found in Python source code comments. ( #4803 )
...
* Fix multiple typos in code comments
* Add spacing in comments (test_logging.py, test_math.py)
* Fix spaces at the beginning of comments in test_logging.py
2017-12-14 13:04:53 +02:00
Serhiy Storchaka
81108375d9
bpo-30152: Reduce the number of imports for argparse. ( #1269 )
2017-09-26 00:55:55 +03:00
Osvaldo Santana Neto
8a8d28501f
bpo-30441: Fix bug when modifying os.environ while iterating over it ( #2409 )
2017-07-01 20:34:45 +03:00
Serhiy Storchaka
ea720fe7e9
bpo-25996: Added support of file descriptors in os.scandir() on Unix. ( #502 )
...
os.fwalk() is sped up by 2 times by using os.scandir().
2017-03-30 09:12:31 +03:00
Serhiy Storchaka
e304e33c16
bpo-19930: The mode argument of os.makedirs() no longer affects the file ( #799 )
...
permission bits of newly-created intermediate-level directories.
2017-03-24 13:27:42 +02:00
Serhiy Storchaka
8f6b344d36
bpo-28682: Added support for bytes paths in os.fwalk(). ( #489 )
2017-03-07 14:33:21 +02:00
Steve Dower
bb08db4010
Fixes empty tuple case.
2016-11-19 21:14:27 -08:00
Steve Dower
eccaa0679d
Issue #28732 : Adds new errors to spawnv emulation for platforms that only have fork and execv
2016-11-19 20:11:56 -08:00
Serhiy Storchaka
af4e4747f5
Issue #28353 : os.fwalk() no longer fails on broken links.
2016-10-25 14:34:38 +03:00
Serhiy Storchaka
42bababba6
Issue #28353 : os.fwalk() no longer fails on broken links.
2016-10-25 14:28:38 +03:00
Serhiy Storchaka
3ae41554c6
Issue #27998 : Removed workarounds for supporting bytes paths on Windows in
...
os.walk() function and glob module since os.scandir() now directly supports
them.
2016-10-05 23:17:10 +03:00
Ned Deily
bf090e31ad
Issue #28324 : Remove vestigal MacOS 9 references in os.py docstring.
...
Patch by Chi Hsuan Yen.
2016-10-01 21:12:35 -04:00
Steve Dower
cc16be85c0
Issue #27781 : Change file system encoding on Windows to UTF-8 (PEP 529)
2016-09-08 10:35:16 -07:00
Larry Hastings
10108a7b9a
Issue #27355 : Removed support for Windows CE. It was never finished,
...
and Windows CE is no longer a relevant platform for Python.
2016-09-05 15:11:23 -07:00