从Windows迁移到Linux

Mer*_*lin 0 python linux windows

我有一个python gui访问Windows上的文件,如C:\ data和C:\ MyDIR都在我的doc之外.在,一个linux系统我创建/ data和/ MyDIR.

我无法访问.我预计在两个系统上总是使用C:\ data和C:\ MyDIR.

如何修复代码或Linux权限以访问目录和子目录.

Kug*_*gel 5

Chmod是你的朋友.

但是我质疑你的设计.为什么要在如此高级别的文件系统中拥有特权.你知道每个用户都有一个家庭目录,而且总是在Windows和Linux上进行配置.

你做的是一种不好的做法.


Ros*_*ron 5

将数据放在Python认为是任一平台上用户主目录的目录中.

home = os.path.expanduser('~')
datadir = os.path.join(home, '.yourappname')
Run Code Online (Sandbox Code Playgroud)

如果你不喜欢用点前缀这个名字,你可以考虑使用这样的东西:

home = os.path.expanduser('~')
if os.name == 'posix':
    datadir = os.path.join(home, '.yourappname')
else:
    datadir = os.path.join(home, 'Your App Name')
Run Code Online (Sandbox Code Playgroud)

(还有一些应用程序~/.yourappname在类Unix操作系统上不再使用,并且首选~/.local/share/yourappname: os.path.join(home, '.local', 'share', 'yourappname').)

要记住的重要事项是:将其放在'~'扩展到的目录中的某个位置,并在其中包含应用程序的名称,以避免与其他应用程序的数据目录冲突.