- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这段代码在 Python 2.7.16 和 3.8.3 上运行时会产生不同的结果:
import tempfile
import os
fd, lockfile = tempfile.mkstemp()
flags = os.O_RDWR | os.O_CREAT
mode = 'w+b'
fd = os.open(lockfile, flags)
fileobj = os.fdopen(fd, mode)
print(fileobj.mode)
os.remove(lockfile)
在 2.7 中它按预期打印 w+b
但在 3.8 中它打印 rb+
。为什么它不以这种方式遵守模式参数?
我已经尝试手动创建一个文件来减少 tempfile
差异,但仍然得到相同的结果。
我在文档中看不到任何明显的内容:
在 MacOS 10.14.6 上运行
最佳答案
来自内置open
函数的文档:
mode is an optional string that specifies the mode in which the file is opened.
当使用文件描述符而不是文件路径调用 open
时(或者当您使用需要文件描述符的别名 fdopen
时),不会打开任何文件。创建并返回一个包装文件描述符的 Python 类文件对象。您无法更改打开文件的模式,因此 mode
参数将被忽略。
关于python - 为什么 os.fdopen() 忽略 "mode"参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65753134/
我想要一个 FILE* 类型来使用 fprintf。我需要使用 fdopen 来获取 FILE* 而不是返回 int 的 open。但是我们可以对 fdopen 和 open 做同样的事情吗? (我从
我使用 fdopen 将流与打开的文件相关联。 当我close()文件,流是否也自动解除关联,并且所有流内存都返回到操作系统,还是我需要知道 fdopen 文件并以特定方式关闭它? -亚当 最佳答案
如果有的话,我需要做什么来关闭从 os.open 获得并随后与 with os.fdopen 一起使用的文件描述符?我从下面的代码中得到的 OSError 让我认为答案可能是“无”,但我无法在文档中找
我正在尝试使用 fopen 和 fdopen 创建并打开一个文件来写入一些内容。下面是我写的代码: char Path[100]; int write_fd; snprintf
下面的代码应该将“一些文本”写入 demo.txt,但它不起作用: #include #include #include #include #include int main(int arg
我有以下 C 代码。child 用于运行 test3,其代码如下。父级用于将数据传递给子级,子级将重定向到 test3 的 STDIN。 #include #include #include #
我有一个 socket socks : int sock = socket(...); connect(sock, ...); // or sock = accept(sock_listen, 0,
APUE 说 With fdopen, the meanings of the type argument differ slightly. The descriptor has already be
我正在尝试了解标准 I/O。我遇到了调用 fdopen() 的问题。 如果我按如下方式在同一个文件描述符上调用 fdopen(),会有什么行为?为什么我得到 '\377' (-1) 的输出? #inc
这个问题在这里已经有了答案: C - Proper way to close files when using both open() and fdopen() (2 个答案) 关闭 3 年前。 如
我在尝试编译我的程序时遇到以下错误: 调用 fdopen:错误的文件描述符 我读到这可能是与在我的一个头文件中包含预编译头有关的问题。导致错误的文件中包含 stdio.h header ,因此我可以访
我曾经认为 os.fdopen() 要么吃掉文件描述符并返回一个文件 io 对象,要么引发异常。 例如: fd = os.open("/etc/passwd", os.O_RDONLY) try: o
我无法从 mkstemp 返回的句柄写入由 fdopen 打开为 rw 的文件。 >>> import tempfile >>> import os >>> a = tempfile.mkstemp(
我在调用 fdopen 时遇到错误并将 errno 设置为 22。我正在使用 exec 命令调用子进程。子进程在文件描述符 4 上调用 fdopen。第一个子进程工作并将数据发送回父进程,errno
这个问题与 Write file with specific permissions in Python 的答案有关用于打开具有特定权限的写入文件(在 python 中)。 答案中的代码如下所示: w
以下哪项更正确? fi, path = tempfile.mkstemp() f = os.fdopen(fi, "w") f.write(res) f.close() os.close(fi) 或:
因此,我正在用 C 构建一个 Unix minishell,并正在实现输入、输出和错误重定向,并且遇到了文件问题。我在找到重定向运算符的循环中打开我的文件,并使用 open(),它返回一个 fd。然后
这个问题在这里已经有了答案: Why does open make my file descriptor 0? (4 个答案) 关闭 5 年前。 我将 open() 与 O_RDWR 一起使用,然后
int source = open("hi", O_CREAT | O_RDONLY); int dest = open("resultfile", O_CREAT | O_RDWR | O_TRUN
这段代码在 Python 2.7.16 和 3.8.3 上运行时会产生不同的结果: import tempfile import os fd, lockfile = tempfile.mkstemp(
我是一名优秀的程序员,十分优秀!