Passando um local de arquivo para python

5

Sou completamente novo no Linux e no Ubuntu.

Eu escrevi código python no Windows e quero executá-lo no Ubuntu. Ele usa um arquivo de texto para entrada. O 'caminho para o arquivo' no windows se parece com o seguinte

c:user\documents\python\file.txt

Como é a localização escrita para o Ubuntu?

    
por Jaffels 26.09.2013 / 20:20

3 respostas

14

Em vez de seguir caminhos hardcoding em seu script Python, devemos usar a operação de caminho do módulo os .

os.path.expanduser ( caminho ) expande o caminho para o diretório pessoal do usuário
os.path.join ( path1 , * path2 *, ...) une elementos de caminho com o separador apropriado
os.sep fornece o separador de caminho dependente do SO ( / para Linux / Unix , \ para Windows)
os.getcwd () fornece o diretório de trabalho atual
os.path.abspath (caminho) fornece ao sistema operacional absoluto dependente do sistema operacional caminho de um determinado caminho

Exemplo:

>>>import os
>>>path = os.path.join(os.path.expanduser('~'), 'documents', 'python', 'file.txt')
>>>print (path)

Resultado

/home/user/documents/python/file.txt ## when on Ubuntu
C:\Users\user\documents\python\file.txt ## when running Windows
    
por Takkat 26.09.2013 / 23:01
2

Não tenho permissão para adicionar comentários ... por isso vou tentar responder.

O caminho no UNIX será como: /home/user/file.txt

Quando você está em qualquer pasta e deseja obter o caminho absoluto de um arquivo, você pode usar o comando readlink :

readlink -f file.txt

exemplo no nosso servidor:

$ readlink -f format.log 
/home/dli/format.log
    
por dli 26.09.2013 / 20:29
1

Os caminhos dos arquivos são gravados como -

/path/to/file

Tudo na sua pasta pessoal está localizado em /home/username/

Então, se você tiver um arquivo em sua área de trabalho, ele está localizado em /home/username/Desktop/

Outras partições são montadas em /media por padrão.

Se você deseja obter diretamente o caminho de um arquivo, pode copiar o arquivo e colá-lo em seu editor de texto; isso deve fornecer o caminho para o arquivo. Coloque um \ antes de cada espaço no caminho para 'escapar' do espaço. por exemplo. /media/myuseraccount/Desktop/an awesome file seria escrito como:

/media/myuseraccount/Desktop/an\ awesome\ file

Outra coisa a notar é que no Linux, os nomes dos seus arquivos diferenciam maiúsculas e minúsculas, então 'desktop' não é o mesmo que 'Desktop'.

Finalmente, um atalho para sua pasta pessoal é digitar ~

Você pode acessar sua área de trabalho digitando:

~/Desktop

e você pode acessar sua pasta pessoal digitando:

~/
    
por Sukarn 26.09.2013 / 20:27

Tags