小编Mia*_*ola的帖子

在 Windows 上将原始数据写入物理磁盘(闪存驱动器)失败并显示“错误的文件描述符” - Python

我正在尝试对 USB 闪存驱动器执行直接数据读取和写入作为 Windows 上的物理驱动器(如果重要,则为 10)。我正在使用 Python 来做到这一点。

我遵循了以下讨论:

使用 python 和 windows 获得对原始设备的写入访问权限

我遇到了kcstrom在那个问题中遇到的同样问题。我得到一个

    Traceback (most recent call last):
    File "C:\script.py", line 49, in <module>
    disk.write(data)
    IOError: [Errno 9] Bad file descriptor
Run Code Online (Sandbox Code Playgroud)

阅读和寻找工作应有尽有,读取的数据是正确的。

到目前为止我所知道的

  1. 处理驱动器应该在扇区大小的读/写/搜索中完成。
  2. 磁盘必须以“rb+”模式打开。
  3. 同时使用 \\.\L: 和 \\.\PhysicalDriveN 会产生相同的结果。
  4. 该脚本必须在管理员权限下运行。
  5. 卸载驱动器并尝试访问 \\.\PhysicalDriveN 文件 - 即使以管理员身份运行,“权限被拒绝”。

重现错误:(警告:此代码可能损坏物理驱动器,仅当您知道自己在做什么时才运行)

SOME_OFFSET = 123123
SOME_SIZE = 100
# replace L with the drive letter
disk = open('\\\\.\\L:','r+b')
# or use: (replace N with the drive number)
# disk = …
Run Code Online (Sandbox Code Playgroud)

python windows io file-io

5
推荐指数
1
解决办法
2281
查看次数

通过软件重启保持静态int

我正在为一个项目建立一个百货商店管理系统.我正在管理一系列对象,我希望所有对象都有唯一的ID,因此没有两个对象具有相同的ID.

为此,我想要一个符号表示程序中使用的最后一个ID的int.

我知道我不能使用static int,因为它会在程序重启时重置...

我想在关机时把它保存到磁盘上,但这对我来说似乎并不优雅.所以我想问,是否有更好的方法来存储最后一个ID,以便我可以在软件重启时使用它?

谢谢!

.net c#

-3
推荐指数
1
解决办法
77
查看次数

标签 统计

.net ×1

c# ×1

file-io ×1

io ×1

python ×1

windows ×1