cari

Rumah  >  Soal Jawab  >  teks badan

python - 默认提供x可执行权

发现linux下写python, 保存后的.py文件默认是没有x权限

这样一来, 即使代码首行添加了

#!/usr/bin/env python

在首次执行之前还要先chmod
请问大家有什么默认赋x权限的办法吗
大家讲道理大家讲道理2892 hari yang lalu498

membalas semua(5)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:06:25

    Saya jarang menulis skrip yang dilaksanakan secara langsung, jadi saya tidak memikirkan tentang fungsi ini. Walau bagaimanapun, masih terdapat beberapa idea.

    Saya tidak tahu editor yang digunakan oleh penanya yang biasanya saya gunakan vim Sudah tentu, kaedah yang saya nyatakan di bawah juga boleh digunakan untuk emacs.

    Buka fail konfigurasi vim anda Lazimnya ~/.vimrc, jadi saya biasanya mengeditnya seperti ini:

    vim ~/.vimrc

    Kemudian tambahkan ayat ini di hujung:

    au BufWritePost * if getline(1) =~ "^# silent !chmod a+x <afile>

    Ayat ini bermakna jika baris pertama fail anda bermula dengan #!, ia akan diberikan kebenaran boleh laku secara lalai.

    Selepas menambah, simpan dan keluar Kemudian cuba edit fail python Ia sepatutnya menambah kebenaran pelaksanaan secara lalai saya menggunakan ubuntu dan debian semua ujian lulus.

    Jika anda menggunakan emacs, anda mungkin ingin merujuk artikel ini!

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 09:06:25

    Pertama sekali, pemahaman poster agak salah #!/usr/bin/env python ialah penterjemah skrip yang ditentukan, dan +x memberikan kebenaran pelaksanaan kepada pemilik, ahli kumpulan dan yang lain untuk melakukan antara satu sama lain. Kedua, anda juga boleh menulis skrip ringkas dan melaksanakannya setiap kali anda menggunakan vi untuk membuka fail .py, tetapi saya fikir ia tidak perlu, ia hanya masalah arahan chmod.

    balas
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:06:25

    python xxx.py

    Atau anda boleh menulis skrip yang dipanggil run dan kandungan di dalamnya ialah

    python $*

    Kemudian tambahkan kebenaran pelaksanaan, jalankan xxx.py

    Anda boleh mengubah suai skrip ini
    Sebagai contoh, jika akhiran ialah py, laksanakan Python, jika ia c, gunakan gcc, jika ia adalah .cpp, gunakan g++..

    balas
    0
  • PHPz

    PHPz2017-04-18 09:06:25

    "+x" ialah untuk meningkatkan kebenaran boleh laku dan "#!/usr/bin/env python" ialah penterjemah yang hendak digunakan untuk menjalankan skrip anda.

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:06:25

    Tetapkan umask dalam persekitaran Linux anda dan tambahkan x pada diri anda secara lalai, sebagai contoh, tetapkannya kepada 766

    balas
    0
  • Batalbalas